← Back to team overview

mythbuntu-bugs team mailing list archive

[Bug 359356] Re: USB device attached to different ttyUSB after resume from suspend to RAM

 

Choice excerpts from dmesg:

[    0.000000] Atom PSE erratum detected, BIOS microcode update
recommended

[    0.000000] ACPI: BIOS bug: multiple APIC/MADT found, using 0
[    0.000000] ACPI: If "acpi_apic_instance=2" works better, notify linux-acpi@xxxxxxxxxxxxxxx

[    0.180781] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored

I'd suggest seeing if there's a BIOS update available for your system,
which may or may not improve suspend/resume functionality a bit.
Especially if its taking more than a minute to resume.

However, that aside, looking at both the dib0700 driver and the ftdi_sio
driver, I noticed they lack suspend or resume functions entirely. The
ftdi_sio driver may have the default usb-serial suspend routine wired up
to it somehow though. But anyway, I'm not sure if the usb core is
possibly behaving as expected, disconnecting the devices, rather than
suspending them, or if its the usb chipset not suspending properly.

The incremented ttyUSBx device makes some degree of sense though. If
lircd has an active client (such as irxevent) at suspend time, then the
IR device (/dev/ttyUSB0) will be open, in which case, it can't be fully
removed. Thus, when the device is reconnected, it gets ttyUSB1, as
there's still a lingering reference to ttyUSB0. No clients, 0 gets fully
freed up, and can be allocated again. I'll have to see about getting
some ftdi usb IR hardware one of these days to get a better
understanding of what's going on. I do stand by the assertion that lirc
isn't actually doing anything wrong here though. :)

-- 
You received this bug notification because you are a member of Mythbuntu
Bug Team, which is subscribed to lirc in Ubuntu.
https://bugs.launchpad.net/bugs/359356

Title:
  USB device attached to different ttyUSB after resume from suspend to
  RAM

Status in “lirc” package in Ubuntu:
  Confirmed

Bug description:
  Update: As for Xubuntu 11.04 at least, please read comment #13

  OS: 8.10

  USB device is attached to /dev/ttyUSB0 when I plug it in USB port. But
  when I suspend to RAM and resume, it gets attached to /dev/ttyUSB1.
  Consequently, the daemon configured using /dev/ttyUSB0 does not work
  after resume. I would expect the device to be attached to the same
  ttyUSB before and after.

  Details of the device (from output of lsusb -v):

  Bus 003 Device 010: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               2.00
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0         8
    idVendor           0x0403 Future Technology Devices International, Ltd
    idProduct          0x6001 FT232 USB-Serial (UART) IC
    bcdDevice            6.00
    iManufacturer           1 FTDI
    iProduct                2 FT232R USB UART
    iSerial                 3 A5001qxI
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           32
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0
      bmAttributes         0xa0
        (Bus Powered)
        Remote Wakeup
      MaxPower               90mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           2
        bInterfaceClass       255 Vendor Specific Class
        bInterfaceSubClass    255 Vendor Specific Subclass
        bInterfaceProtocol    255 Vendor Specific Protocol
        iInterface              2 FT232R USB UART
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x02  EP 2 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
  Device Status:     0x0000
    (Bus Powered)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/359356/+subscriptions