Bug 1307702 - Can't access USB serial port device
Summary: Can't access USB serial port device
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: minicom
Version: 6.7
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: rc
: ---
Assignee: Martin Sehnoutka
QA Contact: BaseOS QE - Apps
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-13 21:44 UTC by Robert Heller
Modified: 2016-07-14 13:04 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-14 13:04:14 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Robert Heller 2016-02-13 21:44:37 UTC
Description of problem:

I have a USB serial port device, a RR CirKits LCC Buffer USB, which shows up as:
usb 2-1.1: new full speed USB device number 6 using ehci_hcd
usb 2-1.1: New USB device found, idVendor=04d8, idProduct=000a
usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1.1: Product: Simple CDC Device Demo
usb 2-1.1: Manufacturer: Microchip Technology Inc.
usb 2-1.1: configuration #1 chosen from 1 choice
cdc_acm 2-1.1:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 2-1.1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

This device works just fine one one machine (my laptop) and not on another machine (my desktop).  Both machines are running the same O/S: CentOS 6.7, with the same kernel (2.6.32-573.12.1.el6.x86_64), both with SELINUX 'enforcing'.  I have added myself to the 'dialout' group on both machines.  The 'getbooleans' out for both machines are exactly the same.

'ls' on the problem machine shows the device file:

sauron.deepsoft.com% ls -lZ /dev/ttyACM0
crw-rw----. root dialout system_u:object_r:tty_device_t:s0 /dev/ttyACM0

but minicom fails:
sauron.deepsoft.com% minicom
Device /dev/ttyACM0 access failed: No such file or directory.

The only real differences between the machines are that the desktop machine has several VMs defined (under KVM) and one running.  Also the desktop machine has a PCI quad serial port card and has the 8250.nr_uarts kernel parameter set to 8 (I use one of these ports for a dialup [analog phone] modem for Internet access).

I cannot figure out what is different between the two machines.


Version-Release number of selected component (if applicable):minicom-2.3-6.1.el6


How reproducible: Very


Steps to Reproduce:
1. Insert USB cable
2. Try to access the device (typically with minicom, but any software that can work with a serial port also fails).
3.

Actual results:
The device is claimed no to exist.


Expected results:
Serial I/O results.

Additional info:
Works on one machine, but not the other.  Both machines are running the *same* system software.

Comment 2 Robert Heller 2016-02-18 15:40:33 UTC
OK, I just did a yum update, got a new kernel and glibc.  The problem persists:

sauron.deepsoft.com% dir -lZ /dev/ttyACM0
crw-rw----. root dialout system_u:object_r:tty_device_t:s0 /dev/ttyACM0
sauron.deepsoft.com% minicom
Device /dev/ttyACM0 access failed: No such file or directory.
sauron.deepsoft.com% sudo minicom
[sudo] password for heller: 
Device /dev/ttyACM0 access failed: No such file or directory.
sauron.deepsoft.com% uname -a
Linux sauron.deepsoft.com 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
sauron.deepsoft.com% rpm -q glibc
glibc-2.12-1.166.el6_7.7.x86_64
glibc-2.12-1.166.el6_7.7.i686

But it still works on gollum, with the same new kernel and glibc:

gollum.deepsoft.com% dir -lZ /dev/ttyACM0
crw-rw----. root dialout system_u:object_r:tty_device_t:s0 /dev/ttyACM0
gollum.deepsoft.com% uname -a
Linux gollum.deepsoft.com 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
gollum.deepsoft.com% rpm -q glibc
glibc-2.12-1.166.el6_7.7.x86_64

I also tried setting selinux in 'permissive' mode, but that did not help either.

Am I the only one with this problem?

Comment 3 Ondrej Vasik 2016-02-18 22:11:25 UTC
I'm just placeholder assignee here, but I assume lockdev can be the culprit here. If the device file is locked, access may fail. You can probably remove the lockfile and try it again.

Comment 4 Robert Heller 2016-03-04 19:00:29 UTC
I just tried this device on another CentOS 6 machine (one that *also* has VMs on it) and things work just fine.  So it isn't KVM.

It looks like there is something *specific* about this device on my machine.  I have no clue what.  I tried a different device, which also uses the cdc_acm kmod driver (and the same device file name -- /dev/ttyACM0) and it works on my machine.  I don't know what it is that is causing this problem.  I do run with some kernel params -- I increase the number of UARTs, because I have a quad RS232 port card and I also increase the number of loop devices, because I do a lot of loopback mounts, but I don't think that could be the problem.  Does anyone have any ideas of where I should look?  The only thing 'distintive' about by desktop is that it has an AMD processor and a nVidia chipset motherboard and the machines where the device works are all Intel processor / Intel chipset machines.  Does that even make sense?

Comment 5 Robert Heller 2016-03-05 14:18:23 UTC
Here is some more info:

usb 2-1.4.1: new full speed USB device number 18 using ehci_hcd
usb 2-1.4.1: New USB device found, idVendor=04d8, idProduct=000a
usb 2-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1.4.1: Product: Simple CDC Device Demo
usb 2-1.4.1: Manufacturer: Microchip Technology Inc.
usb 2-1.4.1: configuration #1 chosen from 1 choice
cdc_acm 2-1.4.1:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 2-1.4.1:1.0: ttyACM0: USB ACM device
usb 2-1.4.1: USB disconnect, device number 18
sauron.deepsoft.com% dir /var/lock/
dmraid/     iscsi/      LCK..ttyS4  lvm/        subsys/     
sauron.deepsoft.com% groups
users dialout lock deepsoft mirror
sauron.deepsoft.com% dir -l /dev/ttyACM0 
crw-rw----. 1 root dialout 166, 0 Mar  5 09:08 /dev/ttyACM0
sauron.deepsoft.com% minicom
Device /dev/ttyACM0 access failed: No such file or directory.

sauron.deepsoft.com% lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 04f9:003b Brother Industries, Ltd 
Bus 004 Device 002: ID 046d:c055 Logitech, Inc. 
Bus 005 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 005 Device 003: ID 040b:2000 Weltrend Semiconductor 
Bus 002 Device 016: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 017: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 019: ID 04d8:000a Microchip Technology, Inc. CDC RS-232 Emulation Demo

Kernel modules:
Module                  Size  Used by
dm_snapshot            32297  0 
dm_bufio               20372  1 dm_snapshot
ppp_deflate             4168  0 
zlib_deflate           21629  1 ppp_deflate
ppp_async               7858  1 
crc_ccitt               1717  1 ppp_async
ppp_generic            25398  6 ppp_deflate,ppp_async
slhc                    5805  1 ppp_generic
cdc_acm                19622  0 
fuse                   79892  0 
ebtable_nat             2009  0 
ebtables               18135  1 ebtable_nat
xt_CHECKSUM             1303  0 
iptable_mangle          3349  0 
autofs4                27000  15 
w83627ehf              23844  0 
hwmon_vid               3132  1 w83627ehf
8021q                  20362  0 
garp                    7152  1 8021q
bridge                 84537  0 
stp                     2218  2 garp,bridge
llc                     5418  3 garp,bridge,stp
ipt_REJECT              2351  2 
iptable_filter          2793  1 
ipt_MASQUERADE          2338  1 
iptable_nat             5923  1 
nf_nat                 22676  2 ipt_MASQUERADE,iptable_nat
nf_conntrack_ipv4       9154  6 iptable_nat,nf_nat
nf_defrag_ipv4          1483  1 nf_conntrack_ipv4
ip_tables              17831  3 iptable_mangle,iptable_filter,iptable_nat
ip6t_REJECT             4340  2 
nf_conntrack_ipv6       7985  4 
nf_defrag_ipv6         26468  1 nf_conntrack_ipv6
xt_state                1492  7 
nf_conntrack           79206  6 ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ip6table_filter         2889  1 
ip6_tables             18732  1 ip6table_filter
ipv6                  335525  56 bridge,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
ext3                  240580  10 
jbd                    80652  1 ext3
ext2                   68236  1 
vhost_net              29168  1 
macvtap                10775  1 vhost_net
macvlan                10324  1 macvtap
tun                    16934  3 vhost_net
kvm_amd                40635  3 
kvm                   345460  1 kvm_amd
uinput                  8120  0 
microcode             112205  0 
usblp                  11734  0 
sg                     29318  0 
serio_raw               4626  0 
snd_hda_codec_realtek    73538  1 
k10temp                 3545  0 
snd_hda_codec_generic    62014  1 snd_hda_codec_realtek
edac_core              46645  0 
edac_mce_amd           15615  0 
shpchp                 29130  0 
forcedeth              60609  0 
snd_hda_intel          55222  2 
snd_hda_codec         136309  3 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel
snd_hwdep               7100  1 snd_hda_codec
snd_seq                60769  0 
snd_seq_device          7277  1 snd_seq
snd_pcm                93793  2 snd_hda_intel,snd_hda_codec
snd_timer              22747  2 snd_seq,snd_pcm
snd                    73783  13 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               7958  2 snd_hda_codec,snd
snd_page_alloc          8856  2 snd_hda_intel,snd_pcm
i2c_nforce2             6328  0 
ext4                  378683  1 
jbd2                   93252  1 ext4
mbcache                 8193  3 ext3,ext2,ext4
raid1                  32705  2 
sd_mod                 37030  6 
crc_t10dif              1209  1 sd_mod
sr_mod                 15049  0 
cdrom                  39085  1 sr_mod
aic7xxx               117856  0 
scsi_transport_spi     25447  1 aic7xxx
firewire_ohci          24695  0 
firewire_core          50151  1 firewire_ohci
crc_itu_t               1717  1 firewire_core
ahci                   42738  4 
pata_acpi               3701  0 
ata_generic             3837  0 
pata_amd               11900  0 
nouveau              1340573  2 
ttm                    89408  1 nouveau
drm_kms_helper         88766  1 nouveau
drm                   320992  5 nouveau,ttm,drm_kms_helper
i2c_algo_bit            5711  1 nouveau
i2c_core               29132  5 i2c_nforce2,nouveau,drm_kms_helper,drm,i2c_algo_bit
mxm_wmi                 1967  1 nouveau
video                  21654  1 nouveau
output                  2409  1 video
wmi                     6287  2 nouveau,mxm_wmi
dm_mirror              14384  0 
dm_region_hash         12085  1 dm_mirror
dm_log                  9930  2 dm_mirror,dm_region_hash
dm_mod                 99168  58 dm_snapshot,dm_bufio,dm_mirror,dm_log

Kernel version:

sauron.deepsoft.com% uname -a
Linux sauron.deepsoft.com 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Kernel param list (from /boot/grub/grub.conf):

	kernel /vmlinuz-2.6.32-573.18.1.el6.x86_64 ro root=/dev/mapper/sauron-c6_root 8250.nr_uarts=8 max_loop=32 rd_MD_UUID=3c4a1e48:8aa377f6:9e3b46bf:71a46887 rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=sauron/swap SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=sauron/c6_root crashkernel=auto

PCI bus:

00:00.0 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: NVIDIA Corporation MCP78S [GeForce 8200] LPC Bridge (rev a2)
00:01.1 SMBus: NVIDIA Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.3 Co-processor: NVIDIA Corporation MCP78S [GeForce 8200] Co-Processor (rev a2)
00:01.4 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:06.0 IDE interface: NVIDIA Corporation MCP78S [GeForce 8200] IDE (rev a1)
00:07.0 Audio device: NVIDIA Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (rev a1)
00:08.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 SATA controller: NVIDIA Corporation MCP78S [GeForce 8200] AHCI Controller (rev a2)
00:0a.0 Ethernet controller: NVIDIA Corporation MCP77 Ethernet (rev a2)
00:0b.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:10.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:12.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:13.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:14.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
01:07.0 USB controller: VIA Technologies, Inc. VT82xx/62xx UHCI USB 1.1 Controller (rev 61)
01:07.1 USB controller: VIA Technologies, Inc. VT82xx/62xx UHCI USB 1.1 Controller (rev 61)
01:07.2 USB controller: VIA Technologies, Inc. USB 2.0 (rev 63)
01:07.3 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 46)
01:09.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
01:0a.0 Serial controller: Lava Computer mfg Inc Quattro-PCI A
01:0a.1 Serial controller: Lava Computer mfg Inc Quattro-PCI B
02:00.0 VGA compatible controller: NVIDIA Corporation C77 [GeForce 8200] (rev a2)

Does any of this help find out what is wrong?

Comment 6 Martin Sehnoutka 2016-07-14 13:04:14 UTC
Thank you for taking the time to report this issue to us. We appreciate the feedback and use reports such as this one to guide our efforts at improving our products. That being said, this bug tracking system is not a mechanism for requesting support, and we are not able to guarantee the timeliness or suitability of a resolution.

If this issue is critical or in any way time sensitive, please raise a ticket through the regular Red Hat support channels to ensure it receives the proper attention and prioritization to assure a timely resolution. 

For information on how to contact the Red Hat production support team, please visit: https://www.redhat.com/support/process/production/#howto


Note You need to log in before you can comment on or make changes to this bug.