Sun x4100 amd64 virtual console -- uhidev0: bad input length 8 != 0
I just installed OpenBSD 4.0-stable on a Sun x4100 server. The server has an IPMI virtual console accessed remotely via a Java application which pretends to be a USB keyboard/mouse. While I had no problems with the virtual console during the installation process, once the actual operating system was installed, every keypress on the virtual console results in the message uhidev0: bad input length 8 != 0 being displayed. Other than the message being displayed, the keyboard seems to be working fine. I removed the following code from uhidev.c, which removed the message logging. As far as I can tell, the keyboard works fine under the virtual console, although I haven't tested the mouse emulation. I guess there's just something weird about the USB emulation. No functional problems, but if whoever maintains the USB driver is interested in figuring it out, I could test patches... #ifdef DIAGNOSTIC if (scd-sc_in_rep_size != cc) printf(%s: bad input length %d != %d\n,USBDEVNAME(sc-sc_dev), scd-sc_in_rep_size, cc); #endif -- Paul B. Henson | (909) 979-6361 | http://www.csupomona.edu/~henson/ Operating Systems and Network Analyst | [EMAIL PROTECTED] California State Polytechnic University | Pomona CA 91768
Re: Sun x4100 amd64 virtual console -- uhidev0: bad input length 8 != 0
#ifdef DIAGNOSTIC if (scd-sc_in_rep_size != cc) printf(%s: bad input length %d != %d\n,USBDEVNAME(sc-sc_dev), scd-sc_in_rep_size, cc); #endif A more correct fix is to change the line to something like this. It's still not the most correct fix, but does it for me. Most of the debug statements in uhidev.c are wrapped undef #DIAGNOSTICS anyway, but this one was somehow left out. - printf(%s: bad input length %d != %d\n,USBDEVNAME(sc-sc_dev), - scd-sc_in_rep_size, cc); + DPRINTF((%s: bad input length %d != %d\n,USBDEVNAME(sc-sc_dev), + scd-sc_in_rep_size, cc)); As stated before, the keyboard on ILOM seems to works just fine.