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