tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

MNT Reform2 USB LCP flash



Hey!

I asked this first on netbsd-users, but since there were no takers, I decided to try this crowd.

I have an MNT Reform2 laptop, and it has something called an LCP (It's a Cortex M0 I think) whose firmware can be updated by turning a switch on the board that enables an internal USB port to simulate an umass device. The procedure is then that you overwrite that file to update the firmware.

I tried turning the switch and plugging it into a my trusty X220 laptop and sure enough it found a umass device and attached an sd to it, however it immediately showed an autoconfiguration error with error = 5 (EIO, I presume) and any attempt to talk to the device just yields Input/Output error.

I then tried it on my fairly recent gaming computer and it also does the same thing there. Plugging it in in windows immediately mounts the usb device (I guess it's a FAT partition of some kind) and shows the expected firmware.bin file on it.

Here's the relevant bits of dmesg from the gaming system:

[ 1.142061] uhub3 at usb3: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 0
[     1.142061] uhub3: 6 ports with 6 removable, self powered

...

[    21.611880] umass1 at uhub3 port 3 configuration 1 interface 0
[ 21.611880] umass1: NXP (0x1fc9) LPC1XXX IFLASH (0x000b), rev 2.00/7.04, addr 5
[    21.611880] umass1: using SCSI over Bulk-Only
[    21.611880] scsibus1 at umass1: 2 targets, 1 lun per target
[ 21.611880] sd1 at scsibus1 target 0 lun 0: <NXP, LPC1XXX IFLASH, 1.0> disk removable
[    21.611880] sd1: fabricating a geometry
[ 21.611880] sd1: 34816, 0 cyl, 64 head, 32 sec, 512 bytes/sect x 68 sectors [ 21.611880] autoconfiguration error: sd1: unable to open device, error = 5

It seems a bit interesting that it reports 2 targets, but only creates an sd for one, and 0 cylinders seems a bit suspicous but I don't know if that's ok or not.

Having had no luck I went diving into the linux kernel to see if they have a quirk for it, but found nothing for device id 0x1fc9/0x000b.

Clearly something is going wrong, any thoughts? I guess there's some extra usb debuggin information available, and I can boot a kernel with it and see what happens if it would help.

Staffan



Home | Main Index | Thread Index | Old Index