Kind USB gurus and fellow users: While I've been using Linux for many years, I recently found myself with the first instance of needing USB support for one of my systems. After repeated power outages taking my servers offline rather un-gracefully, I decided to obtain a UPS - and picked up a TrippLite OmniVS1000 at Costco which appeared to meet my needs. What I failed to notice/anticipate was the USB interface (guess I was just expecting serial by default).
So - looked at my current kernel (2.4.18) and decided I ought to grab the latest. So working with the 2.4.23 source, I attempted to configure/compile USB support. If I configure HID support as a loadable module, the kernel compile goes well - but when I boot the system, I don't wind up with any hid device files, and although the system SEES the UPS on the USB bus, I don't believe the HID module is loading, based on the following entries in /var/log/messages: <snip> Dec 16 00:39:56 gw3 kernel: hub.c: new USB device 00:02.2-1, assigned address 2 Dec 16 00:39:56 gw3 kernel: Manufacturer: TRIPP LITE Dec 16 00:39:56 gw3 kernel: Product: TRIPP LITE OMNIVS1000 Dec 16 00:39:56 gw3 kernel: usb.c: USB device 2 (vend/prod 0x9ae/0x1) is not claimed by any active driver. Dec 16 00:39:56 gw3 kernel: Length = 18 Dec 16 00:39:56 gw3 kernel: DescriptorType = 01 Dec 16 00:39:56 gw3 kernel: USB version = 1.10 Dec 16 00:39:56 gw3 kernel: Vendor:Product = 09ae:0001 Dec 16 00:39:56 gw3 kernel: MaxPacketSize0 = 8 Dec 16 00:39:56 gw3 kernel: NumConfigurations = 1 Dec 16 00:39:56 gw3 kernel: Device version = 0.01 Dec 16 00:39:56 gw3 kernel: Device Class:SubClass:Protocol = 00:00:00 Dec 16 00:39:56 gw3 kernel: Per-interface classes Dec 16 00:39:56 gw3 kernel: Configuration: Dec 16 00:39:56 gw3 kernel: bLength = 9 Dec 16 00:39:56 gw3 kernel: bDescriptorType = 02 Dec 16 00:39:56 gw3 kernel: wTotalLength = 0022 Dec 16 00:39:56 gw3 kernel: bNumInterfaces = 01 Dec 16 00:39:56 gw3 kernel: bConfigurationValue = 01 Dec 16 00:39:56 gw3 kernel: iConfiguration = 00 Dec 16 00:39:56 gw3 kernel: bmAttributes = 80 Dec 16 00:39:56 gw3 kernel: MaxPower = 60mA Dec 16 00:39:56 gw3 kernel: Dec 16 00:39:56 gw3 kernel: Interface: 0 Dec 16 00:39:56 gw3 kernel: Alternate Setting: 0 Dec 16 00:39:56 gw3 kernel: bLength = 9 Dec 16 00:39:56 gw3 kernel: bDescriptorType = 04 Dec 16 00:39:56 gw3 kernel: bInterfaceNumber = 00 Dec 16 00:39:56 gw3 kernel: bAlternateSetting = 00 Dec 16 00:39:56 gw3 kernel: bNumEndpoints = 01 Dec 16 00:39:56 gw3 kernel: bInterface Class:SubClass:Protocol = 03:01:00 Dec 16 00:39:56 gw3 kernel: iInterface = 00 Dec 16 00:39:56 gw3 kernel: Endpoint: Dec 16 00:39:56 gw3 kernel: bLength = 7 Dec 16 00:39:56 gw3 kernel: bDescriptorType = 05 Dec 16 00:39:56 gw3 kernel: bEndpointAddress = 81 (in) Dec 16 00:39:56 gw3 kernel: bmAttributes = 03 (Interrupt) Dec 16 00:39:56 gw3 kernel: wMaxPacketSize = 0008 Dec 16 00:39:56 gw3 kernel: bInterval = 0a ... </snip> The "USB device 2 (vend/prod 0x9ae/0x1) is not claimed by any active driver." is my clue that something's not right. ;-) Now alternatively, when I try "build-in" <*> the (full HID) support, I get a perplexing (to a non-coder like me ;-) error, as follows: <snip from "make bzImage"> drivers/usb/usbdrv.o: In function `hidinput_hid_event': drivers/usb/usbdrv.o(.text+0x11fd6): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x1207f): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x120e2): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x12105): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x12127): undefined reference to `input_event' drivers/usb/usbdrv.o: In function `hidinput_connect': drivers/usb/usbdrv.o(.text+0x12407): undefined reference to `input_register_device' drivers/usb/usbdrv.o(.text+0x12447): undefined reference to `input_register_device' drivers/usb/usbdrv.o: In function `hidinput_disconnect': drivers/usb/usbdrv.o(.text+0x12485): undefined reference to `input_unregister_device' drivers/usb/usbdrv.o: In function `hidinput_hid_event': drivers/usb/usbdrv.o(.text+0x12001): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x1206d): undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x120a7): undefined reference to `input_event' make: *** [vmlinux] Error 1 </snip> My apologies in advance if I'm overlooking something simple and obvious, or if I've failed to include pertinent information. I feel like I'm SO close - I can see the device in the /proc/bus/usb filesystem, and the information in messages/syslog demonstrates that the OS is actually communicating with the device in some limited fashion. I've pored over the USB HOWTO, and even tried manually creating the special device files based on some document or another I encountered which provided the appropriate major/minor numbers - still no dice. None of the software I've tried (including both the vendor-provided PowerAlert software, as well as NUTS) is able to talk to the UPS - of course, since they all want the device file for the interface! Any help, suggestions, references to additional documentation, or a simple kick in the head would be GREATLY appreciated. While the UPS is providing some basic protection (from short-term outages) - once the battery expires, my systems still crash, until I can get them to shut down cleanly. Thanks in advance for any advice! If I've ommitted critical details, don't hesitate to ask for additional information... Have a great evening, Billy ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users