Find the answer to your Linux question:
Results 1 to 10 of 10
I have a point of sale system set up using Linux as the base operating system: Code: # uname -a Linux SouthZ-Mint-Gnome 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21

    Epson TMT88V USB Disconnect


    I have a point of sale system set up using Linux as the base operating system:

    Code:
    # uname -a
    Linux SouthZ-Mint-Gnome 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    The Epson TMT88V POS Receipt Printer is disconnecting several times a day, every day:

    Code:
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25734.867150] usb 2-1.6: USB disconnect, device number 7
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25734.867253] usblp0: removed
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25735.066712] usb 2-1.6: new full-speed USB device number 8 using ehci_hcd
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25735.082922] hub 2-1:1.0: unable to enumerate USB device on port 6
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25735.322479] usb 2-1.6: new full-speed USB device number 9 using ehci_hcd
    Oct 31 13:06:39 SouthZ-Mint-Gnome mtp-probe: checking bus 2, device 9: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6"
    Oct 31 13:06:39 SouthZ-Mint-Gnome mtp-probe: bus: 2, device: 9 was not an MTP device
    Oct 31 13:06:39 SouthZ-Mint-Gnome kernel: [25735.420780] usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x04B8 pid 0x0202
    Oct 31 13:06:39 SouthZ-Mint-Gnome udev-configure-printer: add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/usb/lp0
    Oct 31 13:06:39 SouthZ-Mint-Gnome udev-configure-printer: device devpath is /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6
    Oct 31 13:06:44 SouthZ-Mint-Gnome kernel: [25740.493763] usb 2-1.6: USB disconnect, device number 9
    Oct 31 13:06:44 SouthZ-Mint-Gnome kernel: [25740.493887] usblp0: removed
    Oct 31 13:06:45 SouthZ-Mint-Gnome kernel: [25740.757149] usb 2-1.6: new full-speed USB device number 10 using ehci_hcd
    Oct 31 13:06:45 SouthZ-Mint-Gnome mtp-probe: checking bus 2, device 10: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6"
    Oct 31 13:06:45 SouthZ-Mint-Gnome kernel: [25740.851452] usblp0: USB Bidirectional printer dev 10 if 0 alt 0 proto 2 vid 0x04B8 pid 0x0202
    Oct 31 13:06:45 SouthZ-Mint-Gnome mtp-probe: bus: 2, device: 10 was not an MTP device
    Oct 31 13:06:45 SouthZ-Mint-Gnome udev-configure-printer: add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/usb/lp0
    Oct 31 13:06:45 SouthZ-Mint-Gnome udev-configure-printer: device devpath is /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6
    In some cases, when the printer disconnects, the touchscreen becomes inoperable because touching it in a given spot will cause the cursor to jump erratically around the screen (and nowhere near where the screen is being touched).

    Code:
    # lsusb  -t
    /:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    /:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
        |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
            |__ Port 5: Dev 3, If 0, Class=HID, Driver=usbhid, 12M
            |__ Port 6: Dev 10, If 0, Class=vend., Driver=usblp, 12M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
    Code:
    # for d in /sys/bus/usb/devices/[0-9]* ; do if [[ -e $d/product ]] ; then echo -e "`basename $d`\t`cat $d/power/control`\t`cat $d/speed`\t`cat $d/product`" ; fi ; done
    2-1.5   on      12      OpticalTouchScreen
    2-1.6   on      12      TM-T88V
    3-2     on      1.5     Honeywell Scanning and Mobility Scanner
    Code:
    # dmidecode --type 2
    # dmidecode 2.11
    SMBIOS 2.7 present.
    
    Handle 0x0002, DMI type 2, 15 bytes
    Base Board Information
            Manufacturer: ASRock
            Product Name: Z77E-ITX
    Code:
    # dmidecode --type 0
    # dmidecode 2.11
    SMBIOS 2.7 present.
    
    Handle 0x0000, DMI type 0, 24 bytes
    BIOS Information
            Vendor: American Megatrends Inc.
            Version: P1.30
            Release Date: 07/13/2012
    There are BIOS updates available for this board, and I do intend to install the latest version soon. That said, I have this exact same board installed in three other systems, two of which are exhibiting this problem with the same printer, and after updating those two systems, the errors persist with no change in consistency.

    I've also attempted disabling the “ehci_hcd” driver in the hopes that USB 1.0 speed would provide greater stability with the result that all of the devices become permanently disconnected until reboot.

    I suspect that the printer (or how the printer interacts with the OS) is responsible for the instability issues. The printer is connected as a /dev/usb/lp0 device.

    What I don't understand is why a disconnecting receipt printer should cause the touchscreen to behave erratically. In the case of the other systems I mentioned, the devices aren't even attached to the same root bus.

    Other symptoms I've seen (not at this particular system, but with others and the same printer):

    Code:
    Oct 30 14:58:15 XXXReg1 kernel: [60997.318823] usblp0: nonzero write bulk status received: -32
    The above line was repeated hundreds of times before the printer was finally disconnected in the same way as the one I've described above.

    I've tried putting the SouthZ printer on a UPS; no change in behavior. I've purchased some ferrite filters and intend to install those to see if the problem is signal interference.

    The strange thing is that I have several systems which do not exhibit this issue at all, yet use similar hardware.

    Some other notes: the disconnects do NOT happen at night (the systems remain on 24/7). They only occur when the systems are in use (which is just awesome).

    I was able to trigger the disconnect of the printer just by moving the computer and wiring around (not disconnecting anything). So obviously, this issue is potentially 100% a wiring problem. However, I feel that this is not a valid explanation for the behavior of the touchscreen in other instances.

    Are there any thoughts, suggestions, further tests?

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,158
    It sounds like a usb controller problem. Is it possible to install a PCI usb controller card and try that on one of the systems? Remember that the touch screen is also likely USB and if the controller is bad, then that would explain the problem with both the printer and the touch screen as well as the fact that the problems occur (from my take on what you posted) simultaneously with both the devices.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21
    Thanks for the suggestion, I actually do have a pci usb card laying around, and will give that a shot.

  4. #4
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21
    The board has no PCI ports, so the USB PCI card option is out. I installed the ferrite filters today, so I'll see whether those make a difference at all.

  5. #5
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,158
    Quote Originally Posted by dabgdk View Post
    The board has no PCI ports, so the USB PCI card option is out. I installed the ferrite filters today, so I'll see whether those make a difference at all.
    They probably won't help - just my swag as a senior systems engineer w/ 3+ years experience... FWIW, a lot of systems have multiple USB controllers. It may be possible that other ports will work better for you. If you can get to a command-line interface on this system, run the following command: lspci | grep -i usb
    That should show the controllers you have in the system. My workstation/server motherboard has several USB controllers... In any case, please post the output of these two commands:

    1. lspci -v
    2. lsusb -v
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  6. #6
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21
    Thank you for your time, Rubberman.

    With one day of operating using the ferrite filters, the printer disconnected a single time. Not enough information to say whether the issue was fixed or not, but I agree, the filters probably are not the solution here.

    That said, I switched the operating system today to Linux Mint 15, which uses the 3.8 kernel. I haven't seen further disconnects as yet, but if the issue IS a controller problem, switching the kernel shouldn't make the issue go away.

    Code:
    # lspci | grep -i usb
    00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
    00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
    00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
    04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
    Code:
    # lspci -v
    
    00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) (prog-if 30 [XHCI])
            Subsystem: ASRock Incorporation Device 1e31
            Flags: bus master, medium devsel, latency 0, IRQ 44
            Memory at f7f00000 (64-bit, non-prefetchable) [size=64K]
            Capabilities: [70] Power Management version 2
            Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
            Kernel driver in use: xhci_hcd
    
    00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI])
            Subsystem: ASRock Incorporation Device 1e2d
            Flags: bus master, medium devsel, latency 0, IRQ 16
            Memory at f7f18000 (32-bit, non-prefetchable) [size=1K]
            Capabilities: [50] Power Management version 2
            Capabilities: [58] Debug port: BAR=1 offset=00a0
            Capabilities: [98] PCI Advanced Features
            Kernel driver in use: ehci-pci
    
    00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) (prog-if 20 [EHCI])
            Subsystem: ASRock Incorporation Device 1e26
            Flags: bus master, medium devsel, latency 0, IRQ 23
            Memory at f7f17000 (32-bit, non-prefetchable) [size=1K]
            Capabilities: [50] Power Management version 2
            Capabilities: [58] Debug port: BAR=1 offset=00a0
            Capabilities: [98] PCI Advanced Features
            Kernel driver in use: ehci-pci
    
    04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller (prog-if 30 [XHCI])
            Subsystem: ASRock Incorporation Device 1042
            Flags: bus master, fast devsel, latency 0, IRQ 18
            Memory at f7c00000 (64-bit, non-prefetchable) [size=32K]
            Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
            Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
            Capabilities: [78] Power Management version 3
            Capabilities: [80] Express Legacy Endpoint, MSI 00
            Capabilities: [100] Virtual Channel
            Kernel driver in use: xhci_hcd
    Hmm, might have to do something different for the verbose output of lsusb.

  7. #7
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21
    Output lsusb -v: pastebin.com/p86GMbMP

  8. #8
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,158
    Well, you have, from what I can see, 3 USB controllers - 2 Intel and one ASMedia. My guess is that the ASMedia is a USB 3.0, and the Intel ones are USB 2.0 and 1.1/1.0. As said, you might try plugging stuff into other ports (such as back ones vs front ones). Just playing "whack-a-mole" here, but sometimes you do get to hit the mole!
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  9. #9
    Just Joined!
    Join Date
    Jul 2012
    Posts
    21
    Well, I haven't had any further disconnects, so to my utter astonishment, I must conclude that the issue was the kernel.

    Thanks again for your help.

  10. #10
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,158
    Glad to hear the news! It may have been that the kernel for the older version of Mint was just not quite ready for USB 3.0 prime time...
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •