Date: Sun, 18 Sep 2005 23:45:40 -0500 (CDT) Subject: modified usb card X-UID: 90 Content-Type: IMAGE/JPEG; NAME="img1839.jpg" Content-Type: IMAGE/JPEG; NAME="img1841.jpg" I found a Chinese website with the VIA USB 2.0 controller VT6202 design guide. Another website (Russian?) had the PCI 2.2 specification. With these two, I was able to make a guess as what to do about the USB card. Both of these documents are either proprietary or commercial products. VIA won't give you a copy unless you are a hardware designer. The PCI-SIG only allows members to download the specification. The VT6202 operates at 2.5 and 3.3 volts. This is also obvious due to the two AMC 1117 voltage regulators, clearly marked as 2.5 and 3.3 volts. Nowhere did I see anything that looked like a buffer or charge pump between the VT6202 and the PCI bus pins. There was one small eight pin IC. But it just looked like simple logic. The five I/O pins on a 32 bit universal PCI card are for powering buffers. The electronics on the card doesn't have to be aware of the bus voltage as these pins are dedicated for that. On the Kingwin USB card, all of these I/O pins are tied to 5 volts. This clearly contravenes the design rules for the PCI bus. It won't work with newer computers that only support 3.3 volt signaling. So I took an X-acto knife and cut these five I/O pins. Two of them are seen circled in red in the magnified image of the card. When I went to Fry's on Saturday, I checked many USB cards (for some reason, USB cards are often packed in transparent plastic containers - so you can look at the pinout?). None of them had the design defect mine has, even a two port USB card from the same manufacturer, Kingwin. All of the four port Kingwin cards, like mine, were sold out. The two port Kingwin card used the newer VT6212 and had a lot more stuff on the board. Also, it seems the current fashion in USB cards is to orient the ports flat on the board instead of standing up vertically. That meant that there were no other cards that fit the I/O holes cut in the aluminum enclosure for my robot. So I couldn't purchase a replacement card. As it turns out, this was a good thing. The VT6202 is an old chip. It came out about four years ago. So it could be that at the time, the Taiwanese engineers who designed this card did not fully understand the PCI standard. Or, perhaps in order to maintain compatibility with non-compliant mainboards, they had to deliberately design it wrong. I know that others have run into this problem. But I've not seen a post about how to fix it. I suspect that most people are afraid of burning up their expensive electronics and so don't take the risk even though it is a simple fix that you can do with a pocket knife. This makes me think that there is a lot of hacking and technology going on that we don't see on the Internet. For instance, I imagine there are hobbyists out there who are trying to clone mammals in their kitchens. A few weeks ago, I saw a young guy with a binocular microscope in my apartment complex. There have to be people doing biological work besides robotics, electronics and software. I didn't smell anything bad or see any smoke (smell is the first thing - electronics emits a very distinctive odor when it burns). And the device is detected: ehci_hcd 0000:00:0a.2: VIA Technologies, Inc. USB 2.0 ehci_hcd 0000:00:0a.2: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:0a.2: irq 11, io mem 0xa0003000 ehci_hcd 0000:00:0a.2: USB 2.0 initialized, EHCI 0.95, driver 10 Dec 2004 So it seems that the hack works. I'm still working on getting the Linux distribution working smoothly. Whenever I boot from flash, I have to manually mount the /lib/modules and /usr loopback filesystems. I wanted to use cramfs but it seems to be broken without patching. I read a post that this is the usual experience of most people. So I'm just using uncompressed ext2 filesystems, heavily pruned of unnecessary stuff. In the end, everything fits easily in 32 MB anyway. The deployed system will use 512 MB compact flash cards (or larger given as prices keep falling) so any gains from cramfs would be marginal at this point.