Gentoo Archives: gentoo-user

From: Matt Causey <matt.causey@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] serio / atkbd / PS/2 Strangeness with Serial port adapter
Date: Wed, 05 Aug 2009 16:56:56
Message-Id: ac71f2bb0908050956y4a491b09n11ddcb657aff64e8@mail.gmail.com
1 Hello!
2
3 Apologies if this really is't the right forum (suggestions on the
4 right forum would be welcome).
5
6 Our company presently operates a large number of thin client terminals
7 running LTSP, with a shared NFS root filesystem, and all that stuff.
8 To remove the external runtime dependencies from the image, I've built
9 a gentoo ramdisk that contains all the tools needed for the terminals
10 - which can be downloaded via tftp.
11
12 Things are working well - except for one problem. One the new image,
13 some of the input devices don't work we expected. As you might
14 imagine in a production environment, we have a number of different
15 barcode scanners that attach to these terminals. Many of the new ones
16 are USB HID compliant devices - which is great. Most of them are
17 actually serial port devices, that connect to the terminal via a
18 serial --> PS/2 'wedge'. The PS/2 wedge devices are the ones that
19 don't work correctly.
20
21 If we connect the scanner to the thin client, and boot the image, the
22 scanner does not work. It does not show up at all as an input device:
23
24 blablahostname / # cat /proc/bus/input/devices
25 I: Bus=0003 Vendor=046d Product=c001 Version=0110
26 N: Name="Logitech USB Mouse"
27 P: Phys=usb-0000:00:03.0-1/input0
28 S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/input/input0
29 U: Uniq=
30 H: Handlers=mouse0 event0
31 B: EV=17
32 B: KEY=70000 0 0 0 0 0 0 0 0
33 B: REL=103
34 B: MSC=10
35
36 I: Bus=0003 Vendor=03f0 Product=0024 Version=0110
37 N: Name="CHICONY HP Basic USB Keyboard"
38 P: Phys=usb-0000:00:03.1-2/input0
39 S: Sysfs=/devices/pci0000:00/0000:00:03.1/usb3/3-2/3-2:1.0/input/input1
40 U: Uniq=
41 H: Handlers=kbd event1
42 B: EV=120013
43 B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
44 B: MSC=10
45 B: LED=7
46
47 I: Bus=0010 Vendor=001f Product=0001 Version=0100
48 N: Name="PC Speaker"
49 P: Phys=isa0061/input0
50 S: Sysfs=/devices/platform/pcspkr/input/input2
51 U: Uniq=
52 H: Handlers=kbd event2
53 B: EV=40001
54 B: SND=6
55
56 So, I enabled debugging on the contoller driver(serio.c), and I see
57 that the device generates noise when connected:
58
59 [ 458.875614] drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [444989]
60 [ 458.908119] drivers/input/serio/i8042.c: fe <- i8042 (interrupt, 0,
61 1, timeout) [445022]
62 [ 458.908144] drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [445022]
63 [ 458.940151] drivers/input/serio/i8042.c: fe <- i8042 (interrupt, 0,
64 1, timeout) [445054]
65 [ 458.940225] drivers/input/serio/i8042.c: d4 -> i8042 (command) [445054]
66 [ 458.940234] drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [445054]
67 [ 458.972190] drivers/input/serio/i8042.c: fe <- i8042 (interrupt, 1,
68 12, timeout) [445086]
69 [ 458.972204] drivers/input/serio/i8042.c: d4 -> i8042 (command) [445086]
70 [ 458.972212] drivers/input/serio/i8042.c: ed -> i8042 (parameter) [445086]
71 [ 459.004227] drivers/input/serio/i8042.c: fe <- i8042 (interrupt, 1,
72 12, timeout) [445118]
73 [20171.684870] drivers/input/serio/i8042.c: 0b <- i8042 (interrupt, 0,
74 1) [20162195]
75
76 However - the atkbd driver does not pick the device up at all.
77
78 So, I did find a workaround (which is NOT acceptable for this
79 deployment). Remember the PS/2 'wedge' I mentioned? Well, it has an
80 extra PS/2 port for your keyboard. If I connect a PS/2 keyboard to
81 that thing, suddenly my scanner starts working.
82
83 We see some chatter from the controller driver, then one of these:
84
85 [23811.805578] input: AT Translated Set 2 keyboard as
86 /devices/platform/i8042/serio0/input/input6
87
88 Aaaand a new device is registered as an input device:
89
90 yayayayhostname# cat /proc/bus/input/devices
91 I: Bus=0003 Vendor=046d Product=c001 Version=0110
92 N: Name="Logitech USB Mouse"
93 P: Phys=usb-0000:00:03.0-1/input0
94 S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/input/input0
95 U: Uniq=
96 H: Handlers=mouse0 event0
97 B: EV=17
98 B: KEY=70000 0 0 0 0 0 0 0 0
99 B: REL=103
100 B: MSC=10
101
102 I: Bus=0003 Vendor=03f0 Product=0024 Version=0110
103 N: Name="CHICONY HP Basic USB Keyboard"
104 P: Phys=usb-0000:00:03.1-2/input0
105 S: Sysfs=/devices/pci0000:00/0000:00:03.1/usb3/3-2/3-2:1.0/input/input1
106 U: Uniq=
107 H: Handlers=kbd event1
108 B: EV=120013
109 B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
110 B: MSC=10
111 B: LED=7
112
113 I: Bus=0010 Vendor=001f Product=0001 Version=0100
114 N: Name="PC Speaker"
115 P: Phys=isa0061/input0
116 S: Sysfs=/devices/platform/pcspkr/input/input2
117 U: Uniq=
118 H: Handlers=kbd event2
119 B: EV=40001
120 B: SND=6
121
122 I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
123 N: Name="AT Translated Set 2 keyboard"
124 P: Phys=isa0060/serio0/input0
125 S: Sysfs=/devices/platform/i8042/serio0/input/input6
126 U: Uniq=
127 H: Handlers=kbd event3
128 B: EV=120013
129 B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
130 B: MSC=10
131 B: LED=7
132
133 So, I don't get it. We had this all working fine with the (now
134 ancient version) LTSP configuration, linux 2.4, etc. Did some drastic
135 things change in 2.6 with keyboard management?
136
137 I am completely out of ideas. The only thing I can figure is that the
138 PS/2 wedge thing isn't doing the right thing, and as a result the 2.6
139 version of the atkbd driver isn't binding it? Maybe there is some
140 udev magic I need to know? Maybe the serio controller driver isn't
141 doing the right thing?
142
143 I'm fairly new to Gentoo - so apologies if I've missed something
144 obvious here. Any help would be much appreciated - because I'd really
145 like for this Gentoo image to work out.
146
147 Thanks!
148
149 --
150 Matt

Replies

Subject Author
Re: [gentoo-user] serio / atkbd / PS/2 Strangeness with Serial port adapter andrey larin <ubergitler@××××××.ru>