Support and General Use > Hardware
H120 CF mod - enable UDMA on USB bridge
dreamlayers:
--- Quote from: dobbley on February 03, 2009, 01:59:26 PM ---Thanks for the heads up on Vista, I have been using it on XP. Do you still get this problem with libusb-win32-filter-bin-0.1.12.1.exe if you right click and select “Run this program in compatibility mode for†using XP option before installing it?
--- End quote ---
I remembered having a lot of trouble installing LibUSB-Win32 on Vista. Back then, 0.1.12.1 failed even after I ran like that. Now it installed. Initially it reported 0.1.10.1 driver version but after a reboot I got the 0.1.12.1 driver. My Archos V2 recorder showed up and your program worked.
--- Quote from: dobbley on February 03, 2009, 01:59:26 PM ---As you say you are probably using UDMA already if you are seeing greater that PIO mode 4 speeds (16MB/s theoretical, 12MB/s real world).
--- End quote ---
Sorry, I was wrong. I shouldn't have assumed it is using DMA because it is fast. Config byte 0xc was 0x64, and your program sped things up significantly.
I ran cygwin bash as Administrator and measured speed with "dd if=/dev/sdb of=/dev/null bs=1024k count=200". The default config gave 13.7 MB/s and after running your program I got 24.6 MB/s. Thanks!!!
Edit: I wrote the EEPROM. I read it with:
--- Code: ---usb_control_msg(udev, 0xc0, 0x02, 0x02, 0, &usb_data[0], 0x10, 1000);
--- End code ---
I wrote it with:
--- Code: ---usb_control_msg(udev, 0x40, 0x01, 0x02, 0, &usb_data[0], 0x10, 10000);
--- End code ---
I think some timeout other than 0 might have been necessary for the write to succeed. After that, the read displayed updated data, UDMA was enabled immediately power-on, and reads were fast.
dobbley:
Glad to hear you had success with the Archos, and that someone is able to write to the EEPROM. Unfortunately, even with your mod I still can't write to the H120 EEPROM.
Out of interest, I swapped my hard drive back in, and activating UDMA increased the read speed from 12 MB/s to 18 MB/s, not as big a gain but still worthwhile if transferring a few GB.
dreamlayers:
If you're unable to write to the EEPROM, I suspect that it is write protected via its write protect pin. See http://www.ic-on-line.cn/IOL/datasheet/24LC01_257386.pdf . I guess on the ATA board (see large scan), U4 is the EEPROM and R18 is the pullup resistor for write protect. These are just left of the USB connector. Above the IC is a circular silvery pad with the letters WP below it. I can't see what it connects to, but I suspect it connects to the write protect pin, and if you ground it, you should be able to write to the EEPROM (normally, via USB and the ISD-300). I would first at least use a DMM to make sure the pad connects to the pin and that there is some reasonable resistance between it and VCC.
dobbley:
Thanks dreamlayers, good call, I have now managed to write.
Thought maybe the write protect pin could be responsible, but I would have to dismantle and solder as the ATA board needs to be removed from the main board to see the side in the photo. As you pointed out it was next to the USB connector, I realised that you can see the resistors just by pulling the end off the iriver. Unfortunately the WP pad is hidden by the main board.
Using some very fine insulated wire, with just a tiny bit of the core poking out and angled down, measured the resistance at 10KOhm. So then took a deep breath, grounded one end of the wire and put the other in place at the EEPROM side of the resistor. Powered on with USB in place, ran the code, success! Powering off so I could take the wire out without chancing hitting VCC was the hardest part. The sequence I used was remove USB from PC, hit reset (to get out of ATA 80 error from USB bootmode), then power off normally.
It would be great if anyone can see an easier way to ground the pin, as this approach is definitely not for the faint hearted, or jittery of hand.
amiconn:
I just tried your UDMA setting tool on my Archos Recorder v1 (USB2.0 model). The program is able to find the recorder, and seems to set the ISD config bits properly.
However, even though the harddrive should support up to UDMA5 (it's an 80GB IBM IC25N080ATMR04), windows is unable to access the disk when the bridge is set to UDMA4. Maybe it's the wiring, or a problem with the revision of the bridge?
It would be nice to have an option (or a version of the tool) that limits the setting to UDMA2.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version