Re: [Nut-upsuser] tracing a problem with newhidups

2006-07-06 Thread Arnaud Quette
Hi Rodrigo,2006/7/6, Rodrigo Ventura <[EMAIL PROTECTED]>:
Hi. I'm having trouble with nut-2.0.3 on a linux kernel 2.4.32 machine and aMGE Evolution 3000. The problem is that I'm getting the following message,repeatidly, on dmesg:usbdevfs: usb_submit_urb returned -22
(-22 means -EINVAL)I traced the problem with newhidups -DD auto and found out that the -22error appears in a line "none (-22)" of the output as:--upsdrv_updateinfo...
Waiting for notifications... none (-22)entering string_to_path()parsing UPSLooking up UPS--The function calls in userspace are:[newhidups.c] upsdrv_updateinfo()   [libhid.c] HIDGetEvents()
  [libusb.c] libusb_get_interrupt() [libusb] usb_interrupt_read()[libusb] usb_urb_transfer()In the usb_urb_transfer() function one can find that--urb.number_of_packets
 = 0;  /* don't do isochronous yet */urb.usercontext = NULL;ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb);--and in the kernel code of linux/drivers/usb/host/uhci.c:
--static int uhci_submit_urb(struct urb *urb)[...]case PIPE_ISOCHRONOUS:if (urb->bandwidth == 0) {  /* not yet checked/allocated*/if (urb->number_of_packets <= 0) {
ret = -EINVAL;--So it seems that setting number_of_packets to zero is directly related withthe kernel error.What is going on here? Is it a bug in nut?
a good try, and amount of effort.Sadly, notifications are on the PIPE_INTERRUPT If everything's working fine otherwise (ie UPS status changes are seen), you should dig a bit more the code as it sound like a kernel regression.
If something is not working, you can try to reset the communication: power off the UPS, then unplug its power cable, wait (at least) 10 seconds and replug/restart all.Arnaud-- Linux / Unix Expert - MGE UPS SYSTEMS - R&D Dpt
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/Debian Developer - http://people.debian.org/~aquette/
OpenSource Developer - http://arnaud.quette.free.fr/
___
Nut-upsuser mailing list
Nut-upsuser@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser


[Nut-upsuser] tracing a problem with newhidups

2006-07-06 Thread Rodrigo Ventura

Hi. I'm having trouble with nut-2.0.3 on a linux kernel 2.4.32 machine and a 
MGE Evolution 3000. The problem is that I'm getting the following message, 
repeatidly, on dmesg:

usbdevfs: usb_submit_urb returned -22

(-22 means -EINVAL)

I traced the problem with newhidups -DD auto and found out that the -22 
error appears in a line "none (-22)" of the output as:

--
upsdrv_updateinfo...
Waiting for notifications...
 none (-22)
entering string_to_path()
parsing UPS
Looking up UPS
--

The function calls in userspace are:

[newhidups.c] upsdrv_updateinfo()
   [libhid.c] HIDGetEvents()
  [libusb.c] libusb_get_interrupt()
 [libusb] usb_interrupt_read()
[libusb] usb_urb_transfer()

In the usb_urb_transfer() function one can find that

--
urb.number_of_packets = 0;  /* don't do isochronous yet */
urb.usercontext = NULL;

ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb);
--

and in the kernel code of linux/drivers/usb/host/uhci.c:

--
static int uhci_submit_urb(struct urb *urb)
[...]
case PIPE_ISOCHRONOUS:
if (urb->bandwidth == 0) {  /* not yet checked/allocated 
*/
if (urb->number_of_packets <= 0) {
ret = -EINVAL;
--

So it seems that setting number_of_packets to zero is directly related with 
the kernel error.

What is going on here? Is it a bug in nut?

Cheers,

Rodrigo

-- 

*** Rodrigo Martins de Matos Ventura <[EMAIL PROTECTED]>
***  Web page: http://www.isr.ist.utl.pt/~yoda
***   Teaching Assistant and PhD Student at ISR:
***Instituto de Sistemas e Robotica, Polo de Lisboa
*** Instituto Superior Tecnico, Lisboa, PORTUGAL
*** PGP fingerprint = 0119 AD13 9EEE 264A 3F10  31D3 89B3 C6C4 60C6 4585

___
Nut-upsuser mailing list
Nut-upsuser@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser