[Nut-upsuser] bcmxcp_usb can not communicate with Eaton Powerware 5110

Jevgeni Jurtsenko jevgenious at gmail.com
Mon Dec 3 21:29:20 UTC 2012


Hi Arnaud,

Unfortunately your patch didn't solved the problem for me. I googled about
the issue once more while setting the OS second time to give logs you
asked previously.  Out of the syslog you can see that it is being flooded
with *usbfs *errors about claiming the device. One of the suggestions was
the problem with *dwc_otg *driver. However my solution was a script, which
resets usb and I'm able to get data from UPS again.. As I mentioned above
that re-plugging the usb cable solved it. Problem is not stable ~3 fails
out of 5 startups. At the moment I am using PW5115

lsusb -v -d0x06da:0x0002

Bus 001 Device 004: ID 06da:0002 Phoenixtec Power Co., Ltd UPS
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x06da Phoenixtec Power Co., Ltd
  idProduct          0x0002 UPS
  bcdDevice            1.00
  iManufacturer           4
  iProduct               24
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               60mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      ** UNRECOGNIZED:  09 21 00 01 00 01 22 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              20
Device Status:     0x5a08
  (Bus Powered)
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
*grep usb /var/log/syslog*
Nov 25 11:41:51 raspberrypi kernel: [   95.021492] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021531] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021573] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021611] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021653] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021693] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021733] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021774] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021815] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021855] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021897] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021936] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.021976] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
Nov 25 11:41:51 raspberrypi kernel: [   95.022017] usb 1-1.2: usbfs:
process 1862 (bcmxcp_usb) did not claim interface 0 before use
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
*/lib/nut/bcmxcp_usb -DDDDD -u root -a ups*
Network UPS Tools - BCMXCP UPS driver 0.26 (2.6.5)
USB communication subdriver 0.22
   0.000000     send_to_all: SETINFO driver.parameter.port "auto"
   0.002520     debug level is '5'
   0.019435     entering nutusb_open()
   0.037846     device 004 opened successfully
   0.039967     Can't claim POWERWARE USB interface: could not claim
interface 0: Device or resource busy
   0.041162     Can't reset POWERWARE USB endpoint: could not clear/halt ep
129: Device or resource busy
   0.041965     device 004 opened successfully
   0.042690     Can't claim POWERWARE USB interface: could not claim
interface 0: Device or resource busy
   0.043556     Can't reset POWERWARE USB endpoint: could not clear/halt ep
129: Device or resource busy
   0.043866     device 004 opened successfully
   0.047520     Can't claim POWERWARE USB interface: could not claim
interface 0: Device or resource busy
   0.047826     Can't reset POWERWARE USB endpoint: could not clear/halt ep
129: Device or resource busy
   0.048427     device 004 opened successfully
   0.048982     Can't claim POWERWARE USB interface: could not claim
interface 0: Device or resource busy
   0.049834     Can't reset POWERWARE USB endpoint: could not clear/halt ep
129: Device or resource busy
   0.051205     send_to_all: SETINFO device.type "ups"
   0.051958     send_to_all: SETINFO driver.version "2.6.5"
   0.052674     send_to_all: SETINFO driver.version.internal "0.26"
   0.053397     send_to_all: SETINFO driver.name "bcmxcp_usb"
   0.057015     send_read_command: (4 bytes) => ab 01 31 23
   0.058327     entering get_answer(31)
   0.058576     => packet_loop (0, 0)
   0.058761     => bytes_read (0)
   0.059160     => usb_interrupt_read -16
   0.059762     => packet_loop (0, 0)
   0.060236     => bytes_read (0)
   0.061093     => usb_interrupt_read -16
   0.062454     => packet_loop (0, 0)
   0.062681     => bytes_read (0)
   0.063447     => usb_interrupt_read -16
   0.064235     => packet_loop (0, 0)
   0.067008     => bytes_read (0)
   0.077926     => usb_interrupt_read -16
   0.078266     => packet_loop (0, 0)
   0.078472     => bytes_read (0)
   0.078729     => usb_interrupt_read -16
   0.078989     => packet_loop (0, 0)
   0.079185     => bytes_read (0)
   0.080005     => usb_interrupt_read -16
   0.080783     => packet_loop (0, 0)
   0.081474     => bytes_read (0)
   0.087552     => usb_interrupt_read -16
   0.088423     => packet_loop (0, 0)
   0.089122     => bytes_read (0)
   0.089437     => usb_interrupt_read -16
   0.090164     => packet_loop (0, 0)
   0.090891     => bytes_read (0)
   0.091226     => usb_interrupt_read -16
   0.091990     => packet_loop (0, 0)
   0.092673     => bytes_read (0)
   0.092970     => usb_interrupt_read -16
   0.093732     => packet_loop (0, 0)
   0.094733     => bytes_read (0)
   0.095671     => usb_interrupt_read -16
   0.095957     => packet_loop (0, 0)
   0.096650     => bytes_read (0)
   0.097030     => usb_interrupt_read -16
   0.097827     => packet_loop (0, 0)
   0.098527     => bytes_read (0)
   0.099317     => usb_interrupt_read -16
   0.107015     => packet_loop (0, 0)
   0.107782     => bytes_read (0)
   0.108528     => usb_interrupt_read -16
   0.108810     => packet_loop (0, 0)
   0.109511     => bytes_read (0)
   0.110432     => usb_interrupt_read -16
   0.110710     => packet_loop (0, 0)
   0.111359     => bytes_read (0)
   0.111704     => usb_interrupt_read -16
   0.112659     => packet_loop (0, 0)
   0.112876     => bytes_read (0)
   0.117529     => usb_interrupt_read -16
   0.118350     => packet_loop (0, 0)
   0.119051     => bytes_read (0)
   0.119353     => usb_interrupt_read -16
   0.120120     => packet_loop (0, 0)
   0.120336     => bytes_read (0)
¤¤¤¤¤¤¤¤¤¤¤¤¤¤
* ps -efl | grep bcm*
1 R nut       1984     1 42  80   0 -   558 -      16:51 ?        00:05:50
/lib/nut/bcmxcp_usb -a ups
0 S root      2167  2129  0  80   0 -   883 pipe_w 17:05 pts/0    00:00:00
grep bcm
¤¤¤¤¤¤¤¤¤¤¤¤¤¤
*usbreset.c*
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <linux/usbdevice_fs.h>

void main(int argc, char **argv)
{
    const char *filename;
    int fd;

    if (argc < 2) {
        printf("Give USB device name as parameter\n");
        exit(1);
    }
    filename = argv[1];
    fd = open(filename, O_WRONLY);
    if (fd == -1) {
        perror("USB device open failed");
        exit(2);
    }
    if (ioctl(fd, USBDEVFS_RESET, 0) == -1) {
        perror("USBDEVFS_RESET device ioctl failed");
        exit(3);
    }
    close(fd);
}
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
After reset I receive in */var/log/messages*
Dec  3 17:24:57 kernel: [ 2027.136079] usb 1-1.3: usbfs: process 2228
(bcmxcp_usb) did not claim interface 0 before use
Dec  3 17:25:18 kernel: [ 2047.672034] usb 1-1.3: reset low-speed USB
device number 4 using dwc_otg
Dec  3 17:27:16 kernel: [ 2166.249994] usb 1-1.3: USB disconnect, device
number 4
Dec  3 17:27:18 kernel: [ 2168.021096] usb 1-1.3: new low-speed USB device
number 5 using dwc_otg
Dec  3 17:27:18 kernel: [ 2168.129013] usb 1-1.3: New USB device found,
idVendor=06da, idProduct=0002
Dec  3 17:27:18 kernel: [ 2168.129041] usb 1-1.3: New USB device strings:
Mfr=4, Product=24, SerialNumbe r=0
Dec  3 17:27:18 kernel: [ 2168.129056] usb 1-1.3: Product: Powerware UPS
Dec  3 17:27:18 kernel: [ 2168.129067] usb 1-1.3: Manufacturer: Powerware
* tail -f /var/log/syslog*
Dec  3 17:30:45 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE
Dec  3 17:30:49 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE
Dec  3 17:30:53 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE
Dec  3 17:30:57 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE
Dec  3 17:31:01 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE
Dec  3 17:31:05 raspberrypi bcmxcp_usb[2236]: RECONNECT USB DEVICE







On Fri, Nov 30, 2012 at 10:04 PM, Arnaud Quette <aquette.dev at gmail.com>wrote:

>
> 2012/11/29 Jevgeni Jurtsenko <jevgenious at gmail.com>
>
>> Hello all,
>
>
> Hi Jevgeni,
>
>
>> While repeatedly setting up the system for tests figured out the problem
>> in other OS subsystem driver. Problem solved with the script. Thanks again
>> for your time
>>
>
> I'm not sure to understand: do you mean that the patch I've provided
> (xcp-rcv-loop.diff) has fixed your issue or?
>
> cheers,
> Arnaud
> --
> NUT (Network UPS Tools) Project Leader - http://www.networkupstools.org
>
> Debian Developer - http://www.debian.org
> Free Software Developer - http://arnaud.quette.fr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20121203/4b7df1db/attachment-0001.html>


More information about the Nut-upsuser mailing list