[Prism54-devel] X2 firmware file format
Sebastien B
sebastien.b at swissinfo.org
Sat Feb 26 17:08:14 UTC 2005
Hello,
I've got the GW3887-based WG111 from DG4OAQ today :)
There is a real problem with the firmware. I took the 2.7.0.0 firmware from
the XH8196 driver and prepended an X2 header that I took from the USB logs. I
just edited a field which is surely the size of the firmware to make it match
the length of the 2.7.0.0 firmware. It didn't work. I'm afraid the firmware
in the XH8196 is only for ISL3886-based PCI devices.
Here is what the driver printed to the syslog (there seems to be race
conditions or similar bugs messing all up...) :
Feb 26 17:49:57 localhost kernel: Loaded SoftMAC USB driver, version 0.6.0.0
Feb 26 17:50:06 localhost kernel: usb 1-4: new high speed USB device using
address 5
Feb 26 17:50:06 localhost kernel: sm_drv_usb_probe Vendor ID 846, Product ID
4240
Feb 26 17:50:06 localhost kernel: sm_drv_netdev_create
Feb 26 17:50:06 localhost kernel: sm_drv_usb_upload_firmware<7>request
firmware ok
Feb 26 17:50:06 localhost kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: Reset of the device done !FW Upload:
Received ^[[1mrom >^[[0m 0:06 kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: LMAC description parse ok
Feb 26 17:50:06 localhost kernel: FW Upload: Received <[1mrom >^[[0m 0:06
kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: parse of lmac OK
Feb 26 17:50:06 localhost kernel: FW Upload: Received ^M
Feb 26 17:50:06 localhost kernel: 1mrom >^[[0m 0:06 kernel: ep1 max packet
size : 512
Feb 26 17:50:06 localhost kernel: FW Upload not successful: (ERROR^M
Feb 26 17:50:06 localhost kernel: ^[[1mrom >^[[0m rnel: ep1 max packet size :
512)
Feb 26 17:50:06 localhost kernel: usb 1-4: bulk timeout on ep1out
Feb 26 17:50:06 localhost kernel: Failed to send FW file -110 length 512
Feb 26 17:50:06 localhost kernel: ERROR: failed to upload the firmware
Feb 26 17:50:06 localhost kernel: Prism SoftMAC USB: probe of 1-4:1.0 failed
with error -1
So, if you find an USB Windows driver which contains a firmware that features
a "bra" compatible with the UMAC library in the XH8196 driver, I am really
interested. I posted some time ago an simple program which can be used to
check easily whether a firmware is compatible, I'll put it up in a tarball
with Makefile and so, so that you can use it easy.
I'm willing to carry on any other test with the device.
Here is the (scarce) informations I found out about the X2 header :
I analyzed logs available at JB's website and the NDISWrapper log from
DG4OAQ's device. All the firmwares used are identical (version 2.5.8.0 built
on Fri May 14 16:19:50), and so are the X2 headers :
78 32 20 20 00 00 02 00 68 75 00 00 35 0b 42 84
"78 32 20 20" is the X2 signature
"68 75" is the length of the firmware (if you use fwextract, you will have 4
more spurious bytes at the end of the firmware file, because it will copy the
size of the firmware at the end. I don't think this is a problem, though.)
I don't know what the rest means. Logs needed.
Sebastien
More information about the Prism54-devel
mailing list