Thread (29 messages) 29 messages, 4 authors, 2013-08-12

Re: FUSB200 xhci issue

From: Alan Stern <stern@rowland.harvard.edu>
Date: 2013-08-09 17:16:02

On Fri, 9 Aug 2013, Oleksij Rempel wrote:
Am 09.08.2013 16:52, schrieb Alan Stern:
quoted
On Fri, 9 Aug 2013, Oleksij Rempel wrote:
quoted
quoted
What about a "get firmware version" sort of thing?  There really should
be a way for the driver to tell whether the firmware has already been
updated.
I was not able to find good direct way to check firmware version. If i
would add some new command then i will get option like: if responding FW
is updated; if not, then dead or old.
How about overwriting iProduct field? Let say, if iProduct == ath9k_htc,
then firmware is updated? Is it more or less acceptable method? I need
to ask this because it is really new for me.
Changing the iProduct string descriptor would work, because the
descriptors_changed() routine doesn't compare the old value of that
string with the new value.  (On the other hand, it does compare the
iSerialNumber strings.)
Just to make sure. You mean, i should avoid changing iSerialNumber 
because host will initiate usb reset and this device will probably not 
survive it?
Right.  If the device would survive a reset then there would be no 
problem.

BTW, it is common for new firmware to change the bcdDevice value in the 
device descriptor.  That might be easier than changing a string 
descriptor.
quoted
Is there any way to read the firmware back from the device?  Then you
could check directly.
No, this device is a SoC with usb client interface based on FUSB200 core 
(If i'm correct, same core as on carl9170 devices). We can't read memory 
unless FW provide this service.
At power on, this device will boot from external or internal ROM and 
load minimal FW. Without it, USB wont work.
If i read FW code correctly, it should be responsible for suspend and reset.
How do you tell the device to start running the new firmware after it 
is loaded?  Normally this requires some sort of reset.

Is there any way to prevent the device from losing its firmware during 
a USB reset or suspend?

Alan Stern
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help