On Fri, 7 May 2010 13:21:39 -0700 Ben Niccum <be...@bendtel.com> wrote:
> > Also, is there a setting for USB mode in the BIOS? > > > > Sometimes listed as USB Drive emulation, or similar. > > There is a USB Emulation mode. If I turn USB Emulation off, then all > the problems of the USB drives freezing the system go away, but it > still leaves me with the first issue of the bootable device. Without > USB emulation on, it actually won't boot from any USB devices. It often depends on the *type* of emulation, and sometimes the USB Emulation/Mode setting must be used in conjunction with specific boot device settings. Depending on vendor, the USB Emulation Mode can be set to silly names like "Auto" or "Removable" or "HDD" or "FDD" or "Floppy" or whatever. With some systems, when set to "Auto" USB flash drives that are less than 530 MB in size are automatically emulated as floppy disk drives, while USB flash drives larger than 530 MB in size will be treated like hard disk drives. Needless to say, the "530 MB" cut-off can vary depending on vendor/chipset/whatever, but however it's done, it can cause a whole lot of headaches. Your emulation mode seems to be stuck on "Auto" without any way to change it that I've found. In your case, the "USB Emulation" mentioned in your BIOS settings is basically *misnamed* since this setting actually defines "Legacy Mode" for all attached USB devices. It seems VIA defines "legacy mode" as supporting legacy (read: ancient) USB keyboard, mouse and storage devices under DOS, but what they actually mean by this statement is a bit vague. Typically when support for Legacy Mode is "On" you can support ancient USB devices that barf when used with newer modes, but in doing so, you can be causing problems for newer (USB v1.1 and above) devices, such as the newer bootable USB sticks you're probably trying to use. ;) Unless you have a damn good reason to force *ALL* USB devices to use legacy mode, you should probably have this turned "Off" --If you're using an ancient keyboard or mouse that *requires* legacy mode to work properly, then try use the "KB/MS" setting. Some systems and some USB devices refuse to be bootable or refuse to be treated as "disks" when used in the ancient "Legacy Mode" since booting to USB, and even USB storage itself, were invented long after USB was first created. --My comprehension of early/ancient USB devices kinda sucks because they were first released, I did everything I possibly could to avoid them... To this day there are still unresolved problems when using USB keyboards with debuggers. As for the obvious question of, "WTF Is Legacy Mode?" sadly, there is no single universal answer since it varies depending on chipset, implementation and vendor whims. The closest thing to an answer you'll find is, "Legacy Mode forces modern USB to work with ancient USB devices," but the details of "how?" are a mystery. It might be crippling the EHCI logic core (or "chip), or it may be disabling some unknown portion of EHCI, or it may be forcing the UHCI logic core (chip) to behave in certain ways, or any combination thereof. Considering where you put the "It Dies Here" note in your posted dmesg (thanks) and your subsequent successful boots with "USB Emulation" set to "Off", it seems Legacy Mode is at least part of your problem, if not the entire problem. On Fri, 7 May 2010 13:57:32 -0700 Ben Niccum <be...@bendtel.com> wrote: > On Fri, 7 May 2010 22:06:57 +0200 > Tobias Ulmer <tobi...@tmux.org> wrote: > > > Try setting "Plug and play OS" in the BIOS to yes. > > I was unable to find such a setting in the BIOS. You obviously did not even bother to check... RTFM! (And I wonder why I bothered when you didn't?) See page #51 of the VB7001 User Manual ("PNP" == "Plug and Play") http://www.via.com.tw/servlet/downloadSvl?id=490&download_file_id=3693 If the manual is showing the default state ("No"), then it's wrong. You should set it to "Yes" and you should also enable "Reset Configuration Data" if you change hardware around. Keep in mind there are two places in the system BIOS settings where you control boot device selection. The first handles the typical stuff, namely specific types of devices, specific devices, or specific sets of devices. The second is where you define the priority of "sets" of devices such as all the "hard drive" devices (including "USB-HDD" == "USB Hard Disk Drive" == your USB stick). With the BIOS on some x86 systems, you need to have the USB storage device attached when you power up the system and change the BIOS settings or else the options for booting to USB are either disabled, or worse, not even visible in the BIOS. There are even some systems out there that have absolutely no mention of being able to boot to USB devices, but can still boot to them if you select the correct, but painfully vague, setting typically named something like "Removable" or similar. --In your case, you need to make sure to have USB-HDD0 through whatever (USB-HDD3?) in your "Hard Disk" set. Similar to the above, you may need to set "Reset Configuration Data" to "Enabled" so the ESCD (Extended System Configuration Data) is reset and the USB stick is "seen" by the system, otherwise, the system might not be aware there is a USB stick attached. Once you've got all of your BIOS settings correct, the system should boot USB sticks without any further problems... --except if your USB device is a piece of junk which is unfortunately *VERY* common. There are other issues you can hit, but they're typically found with hardware older than your VIA VB7001. Depending on *how* the vendor implemented USB, on some systems you need to be careful about which physical USB port on the system you use. This "different ports for different speeds" cluster muck is typically only found in much older systems, but the trouble is, you just never know how a particular vendor decided to cut particular corners to save money and still claim to have support for "USB 2.0" --Similar is true for USB device vendors (e.g. selling crappy USB 1.0 devices with BS marketing claims of being "USB 2.0 Compatible" rather than "USB 2.0 Compliant"). If you have a USB 2.0 device and it does not attach to your EHCI, then either the device is lying to you, or your system is lying to you about it's capacities, or your system has an old/poor design and you need to try a different physical USB port. jcr -- The OpenBSD Journal - http://www.undeadly.org