OK - I think I've solved my own problem.
I used dd to dump the device into a file and I got all the blocks.
Which is a strong hint that the device is now working OK.
Then I used the loopback filesystem to mount the file and still
got errors reading files. This pointed the blame at the vfat
file-system rather than the device. So I ran Linux dosfsck -a on
the file and that fixed it. After running Linux dosfsck -a /dev/sda1
the device mounted OK on both Linux, Win98. So in summary
to get one of these Leadtek/Neodio Winfast disks to work:
1) Add the unusual_devices entry and build the kernel module.
This fixes recognising the device in /proc/scsi/scsi.
2) Use a patitioning tool that can create a partition that all of
Linux and win98/wxp/w2k are happy with. I used win98 fdisk
because Linux fdisk seem to cause me some grief (maybe
I was confused at the time or need to RTFM more).
This fixes the bad partition table.
3) Format the resultant partition - I used win98 - but it
seemed to format a file-system that needed fixing with Linux
dosfsck - despite win98 being happy with it.
4) Check you have a valid filesystem by using Linux dosfsck - fix
any problems with dosfsck -a. This should result in a
file-system that can work on either.
It's possible that there may be a simpler set of steps, but I've
reported exactly what got it working for me. Anyway hope this might
help someone else.
On Fri, 04 Oct 2002 10:53, Michael Hamilton wrote:
> Leadtek market a USB 128MB storage device that reports itself to be
> a Neodio 0x0aec, 0x5010 rev 1.0. It seems this ID covers many devices.
> The device works on on Win98, w2k and xp and the Leadtek's site
> reports that it should work with linux 2.4.2+ - but when it arrived I
> saw that Linux has been crossed off the box by hand with a black marker.
>
> I followed the advice at
> http://www.qbik.ch/usb/devices/showdev.php?id=1146, and created the
> following entry in /usr/src/linux/drivers/usb/storage/unusual_devs.h
> UNUSUAL_DEV( 0x0aec, 0x5010, 0x0100, 0x0100,
> "Neodio Technologies Corp.",
> "Neodio/Leadtek WinFast Disk",
> US_SC_SCSI, US_PR_BULK, NULL,
> US_FL_FIX_INQUIRY),
>
> I'm using kernel 2.4.19 with Redhat 7.2.
>
> And the device is recognised when I plug it in. But I couldn't
> mount the divice. At first I thought it was because the partition
> table was invalid - so I booted back to win98, ran fdisk,
> repartitioned and reformatted the device. Now
> linux 'fdisk -l /dev/sda' reports:
>
> Disk /dev/sda: 64 heads, 32 sectors, 125 cylinders
> Units = cylinders of 2048 * 512 bytes
>
> Device Boot Start End Blocks Id System
> /dev/sda1 1 124 126960 6 FAT16
>
> And mount is happy to mount the partititon. But still no joy.
> I can do an 'ls -l', but any attempt to read a file results in
> the user level 'Input/output error' and kernel messages such as:
>
> 08:01: rw=0, want=58426169, limit=126960
> Directory sread (sector 0x6f70672) failed
> attempt to access beyond end of device
> 08:01: rw=0, want=58426169, limit=126960
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command READ_10 (10 bytes)
> usb-storage: 28 00 00 00 0f a8 00 00 01 00 00 00
> usb-storage: Bulk command S 0x43425355 T 0x46 Trg 0 LUN 0 L 512 F 128 CL 10
> usb-storage: Bulk command transfer result=0
> usb-storage: usb_stor_transfer_partial(): xfer 512 bytes
> usb-storage: usb_stor_bulk_msg() returned 0 xferred 512/512
> usb-storage: usb_stor_transfer_partial(): transfer complete
> usb-storage: Bulk data transfer result 0x0
> usb-storage: Attempting to get CSW...
> usb-storage: Bulk status result = 0
> usb-storage: Bulk status Sig 0x53425355 T 0x46 R 0 Stat 0x0
> usb-storage: scsi cmd done, result=0x0
> usb-storage: *** thread sleeping.
> attempt to access beyond end of device
> 08:01: rw=0, want=58426169, limit=126960
>
> When ever I remove and reinsert the device it winds up on a
> different /dev/sd[abc...] unless I also 'rmmod usb-storage sd_mod'.
>
> Oct 4 08:34:10 viking2 kern.info<6> kernel: usb.c: USB disconnect on
> device 8 Oct 4 08:34:18 viking2 kern.info<6> kernel: hub.c: USB new device
> connect on bus3/1, assigned device number 9 Oct 4 08:34:18 viking2
> kern.info<6> kernel: scsi0 : SCSI emulation for USB Mass Storage devices
> Oct 4 08:34:18 viking2 kern.warn<4> kernel: Vendor: Neodio T Model:
> Neodio/Leadtek W Rev: 0100 Oct 4 08:34:18 viking2 kern.warn<4> kernel:
> Type: Direct-Access ANSI SCSI revision: 02 Oct 4
> 08:34:18 viking2 kern.warn<4> kernel: Attached scsi removable disk sdb at
> scsi0, channel 0, id 0, lun 0 Oct 4 08:34:18 viking2 kern.warn<4> kernel:
> SCSI device sdb: 256001 512-byte hdwr sectors (131 MB) Oct 4 08:34:18
> viking2 kern.warn<4> kernel: sdb: Write Protect is off Oct 4 08:34:18
> viking2 kern.info<6> kernel: sdb:<7>usb-storage: queuecommand() called Oct
> 4 08:34:18 viking2 kern.warn<4> kernel: sdb1 sdb2 sdb3 sdb4
>
> And the relevant part of /proc/bus/usb/devices reports:
> T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
> P: Vendor=0aec ProdID=5010 Rev= 1.00
> S: Manufacturer=Neodio Technologies Corp.
> S: Product=Neodio USB Storage Device
> S: SerialNumber=0AEC501000001A002
> C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
> I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
> E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
>
> The scsi /proc/scsi/scsi reports:
>
> Attached devices:
> Host: scsi0 Channel: 00 Id: 00 Lun: 00
> Vendor: Neodio T Model: Neodio/Leadtek W Rev: 0100
> Type: Direct-Access ANSI SCSI revision: 02
>
> Any suggestions for further experimentation would be welcome.
>
> Michael
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users