| Summary: | keyboard is not working when the laptop is docked | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | lmcclef <lmcclef> | ||||||||
| Component: | i386 | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Only Me | ||||||||||
| Priority: | Normal | ||||||||||
| Version: | 4.2-RELEASE | ||||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Attachments: |
|
||||||||||
|
Description
lmcclef
2000-12-20 06:10:01 UTC
>>Number: 23681 >>Category: i386 >>Synopsis: keyboard is not working when the laptop is docked >>Confidential: no >>Severity: critical >>Priority: medium >>Responsible: freebsd-bugs >>State: open [...] >>Release: 4.2-RELEASE >>Organization: >Ericsson Research Canada >>Environment: >FreeBSD lmcpc118634.pc 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Tue Dec 19 18:40:58 > EST 2000 root@lmcpc118634.pc:/usr/src/sys/compile/LMC i386 >>Description: >Hello, > >I have installed FreeBSD 4.2 on a Compaq Armada 7400. When the computer >is undocked, the whole system is working fine. But, If I dock it, the >keyboard attached to the docking station is not working at all. The >dmesg command shows me the following lines: > >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 >device_probe_and_attach: atkbd0 attach returned 6 > >Any ideas ? Never seen this error before ;-< Would you give "boot -v" at the loader prompt when booting the docked system, and send me the dmesg's output? It should give us some more information. Kazu Hello, I send you the output of dmesg. If this can help you, I have found something new. I can move the mouse pointer on the screen in X-Windows but if I press a key on the keyboard, the mouse pointer stops for few (2-3) seconds and re-start to move again. Thanks for your help, Claude. Kazutaka YOKOTA wrote: > >>Number: 23681 > >>Category: i386 > >>Synopsis: keyboard is not working when the laptop is docked > >>Confidential: no > >>Severity: critical > >>Priority: medium > >>Responsible: freebsd-bugs > >>State: open > [...] > >>Release: 4.2-RELEASE > >>Organization: > >Ericsson Research Canada > >>Environment: > >FreeBSD lmcpc118634.pc 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Tue Dec 19 18:40:58 > > EST 2000 root@lmcpc118634.pc:/usr/src/sys/compile/LMC i386 > >>Description: > >Hello, > > > >I have installed FreeBSD 4.2 on a Compaq Armada 7400. When the computer > >is undocked, the whole system is working fine. But, If I dock it, the > >keyboard attached to the docking station is not working at all. The > >dmesg command shows me the following lines: > > > >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 > >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 > >device_probe_and_attach: atkbd0 attach returned 6 > > > >Any ideas ? > > Never seen this error before ;-< > > Would you give "boot -v" at the loader prompt when booting the docked > system, and send me the dmesg's output? It should give us some more > information. > > Kazu Hi, >Hello, > >I send you the output of dmesg. If this can help you, I have found something n >ew. >I can move the mouse pointer on the screen in X-Windows but if I press a key o >n >the keyboard, the mouse pointer stops for few (2-3) seconds and re-start to mo >ve >again. > >Thanks for your help, > >Claude. > [...] >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 >atkbd: the current kbd controller command byte 0065 >atkbd: keyboard ID 0x41ab (2) >kbdc: RESET_KBD return code:ffffffff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >kbdc: RESET_KBD return code:00fa >kbdc: RESET_KBD status:00fa ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >kbdc: DIAGNOSE status:0055 >kbdc: TEST_KBD_PORT status:0000 >atkbd: failed to reset the keyboard. >device_probe_and_attach: atkbd0 attach returned 6 [...] Hmm, would you apply the following patch to /sys/dev/kbd/atkbd.c, rebuild the kernel and boot it with "boot -v"? BTW, what brand and model of the keyboard do you use on this docking station? Kazu Index: atkbdc.c =================================================================== RCS file: /src/CVS/src/sys/dev/kbd/atkbdc.c,v retrieving revision 1.5.2.1 diff -u -r1.5.2.1 atkbdc.c --- atkbdc.c 2000/03/31 12:51:56 1.5.2.1 +++ atkbdc.c 2000/12/21 01:59:07 @@ -834,6 +834,8 @@ if (!write_kbd_command(p, KBDC_RESET_KBD)) continue; emptyq(&kbdcp(p)->kbd); + /* some keyboard takes a long time to respond... */ + DELAY(KBD_RESETDELAY*1000); c = read_controller_data(p); if (verbose || bootverbose) log(LOG_DEBUG, "kbdc: RESET_KBD return code:%04x\n", c); Hello Kazu, I have applied your patch, recompiled and installed the kernel. Unfortunately, this new kernel doesn't seem to fix the problem. I had similar kernel messages. I send them to you as an attachment to this message. The keyboard is a 104 key PS/2 Compaq keyboard. There is no model number on it. Only FCC ID and compliance logos can be seen on the keyboard. I have the Compaq spare part number (269513-001) and some other strings without any references (RT235BTW, DOMESTIC 166516-006 and 123754-201 A). I have tested successfully another 104 key PS/2 keyboard. This one has a model number: KB-9956. It is working properly with the docking station. In the kernel messages I send you, you can see a boot sequence with the keyboard driver loaded properly. I have tested the not working keyboard with a Windows and a Linux computers. It is working with these systems. I guess the keyboard is not the problem... Maybe the keyboard controller ? Thanks for your help, Claude. Claude Lefrancois Ericsson Research Canada lmcclef@lmc.ericsson.se Kazutaka YOKOTA wrote: > Hi, > > >Hello, > > > >I send you the output of dmesg. If this can help you, I have found something n > >ew. > >I can move the mouse pointer on the screen in X-Windows but if I press a key o > >n > >the keyboard, the mouse pointer stops for few (2-3) seconds and re-start to mo > >ve > >again. > > > >Thanks for your help, > > > >Claude. > > > > [...] > >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 > >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 > >atkbd: the current kbd controller command byte 0065 > >atkbd: keyboard ID 0x41ab (2) > >kbdc: RESET_KBD return code:ffffffff > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >kbdc: RESET_KBD return code:00fa > >kbdc: RESET_KBD status:00fa > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >kbdc: DIAGNOSE status:0055 > >kbdc: TEST_KBD_PORT status:0000 > >atkbd: failed to reset the keyboard. > >device_probe_and_attach: atkbd0 attach returned 6 > [...] > > Hmm, would you apply the following patch to /sys/dev/kbd/atkbd.c, > rebuild the kernel and boot it with "boot -v"? > > BTW, what brand and model of the keyboard do you use on this docking > station? > > Kazu > > Index: atkbdc.c > > RCS file: /src/CVS/src/sys/dev/kbd/atkbdc.c,v > retrieving revision 1.5.2.1 > diff -u -r1.5.2.1 atkbdc.c > --- atkbdc.c 2000/03/31 12:51:56 1.5.2.1 > +++ atkbdc.c 2000/12/21 01:59:07 > @@ -834,6 +834,8 @@ > if (!write_kbd_command(p, KBDC_RESET_KBD)) > continue; > emptyq(&kbdcp(p)->kbd); > + /* some keyboard takes a long time to respond... */ > + DELAY(KBD_RESETDELAY*1000); > c = read_controller_data(p); > if (verbose || bootverbose) > log(LOG_DEBUG, "kbdc: RESET_KBD return code:%04x\n", c); Hi, >I have applied your patch, recompiled and installed the kernel. Unfortunately, >this new kernel doesn't seem to fix the problem. I had similar kernel messages >. I >send them to you as an attachment to this message. You provided two copies of demsg output. In the first one, the AT keyboard seems to be working. Is this when you run the system without the docking station? In the second dmesg output the AT keyboard failed to reset. Ok. Another suggestion. Set the flags 0x3 to atkbd in you kernel configuration file: device atkbd0 at atkbdc? irq 1 flags 0x3 This will avoid resetting the keyboard when the kernel starts. >The keyboard is a 104 key PS/2 Compaq keyboard. There is no model number on it >. >Only FCC ID and compliance logos can be seen on the keyboard. I have the Compa >q >spare part number (269513-001) and some other strings without any references >(RT235BTW, DOMESTIC 166516-006 and 123754-201 A). > >I have tested successfully another 104 key PS/2 keyboard. This one has a model >number: KB-9956. It is working properly with the docking station. In the kerne >l >messages I send you, you can see a boot sequence with the keyboard driver load >ed >properly. > >I have tested the not working keyboard with a Windows and a Linux computers. I >t is >working with these systems. I guess the keyboard is not the problem... Maybe t >he >keyboard controller ? Um, well, sort of, perhaps. Our kernel may be having difficulty in communicating with the keyboard via the docking station. The keyboard controller in the notebook computers sometimes have slightly different features and exhibit different behavior than the keyboard controller on the normal mothorboard... >Thanks for your help, > >Claude. [...] >Copyright (c) 1992-2000 The FreeBSD Project. >Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. >FreeBSD 4.2-RELEASE #1: Thu Dec 21 20:15:08 EST 2000 > root@lmcpc118634.pc:/usr/src/sys/compile/LMC >Calibrating clock(s) ... TSC clock: 266706126 Hz, i8254 clock: 1193316 Hz >CLK_USE_I8254_CALIBRATION not specified - using default frequency [...] >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 >atkbd: the current kbd controller command byte 0065 >atkbd: keyboard ID 0x41ab (2) >kbdc: RESET_KBD return code:00fa >kbdc: RESET_KBD status:00aa >kbd0 at atkbd0 >kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000 [...] This looks good. >syncing disks... 4 4 4 4 >done >Uptime: 1d1h46m21s >Rebooting... >Copyright (c) 1992-2000 The FreeBSD Project. >Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. >FreeBSD 4.2-RELEASE #1: Thu Dec 21 20:15:08 EST 2000 > root@lmcpc118634.pc:/usr/src/sys/compile/LMC >Calibrating clock(s) ... TSC clock: 266706966 Hz, i8254 clock: 1193319 Hz >CLK_USE_I8254_CALIBRATION not specified - using default frequency >Timecounter "i8254" frequency 1193182 Hz [...] >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 >atkbd: the current kbd controller command byte 0065 >atkbd: keyboard ID 0x41ab (2) >kbdc: RESET_KBD return code:ffffffff >kbdc: RESET_KBD return code:ffffffff >kbdc: RESET_KBD return code:00fa >kbdc: RESET_KBD status:00fa >kbdc: DIAGNOSE status:0055 >kbdc: TEST_KBD_PORT status:0000 >atkbd: failed to reset the keyboard. >device_probe_and_attach: atkbd0 attach returned 6 [...] This is bad ;-< Kazu Kazutaka YOKOTA wrote: > Hi, > Hello Kasu, > > >I have applied your patch, recompiled and installed the kernel. Unfortunately, > >this new kernel doesn't seem to fix the problem. I had similar kernel messages > >. I > >send them to you as an attachment to this message. > > You provided two copies of demsg output. In the first one, the AT keyboard > seems to be working. Is this when you run the system without the docking > station? > Both dmesg outputs come from the laptop running with the docking station. The first one comes from the second keyboard (KB-9956, which is working fine) and the second one comes from the keyboard that gives me problems. > > In the second dmesg output the AT keyboard failed to reset. > > Ok. Another suggestion. Set the flags 0x3 to atkbd in you kernel > configuration file: > > device atkbd0 at atkbdc? irq 1 flags 0x3 > > This will avoid resetting the keyboard when the kernel starts. > This setting brings my "bad" keyboard to work !!! See the attachment. > > >The keyboard is a 104 key PS/2 Compaq keyboard. There is no model number on it > >. > >Only FCC ID and compliance logos can be seen on the keyboard. I have the Compa > >q > >spare part number (269513-001) and some other strings without any references > >(RT235BTW, DOMESTIC 166516-006 and 123754-201 A). > > > >I have tested successfully another 104 key PS/2 keyboard. This one has a model > >number: KB-9956. It is working properly with the docking station. In the kerne > >l > >messages I send you, you can see a boot sequence with the keyboard driver load > >ed > >properly. > > > >I have tested the not working keyboard with a Windows and a Linux computers. I > >t is > >working with these systems. I guess the keyboard is not the problem... Maybe t > >he > >keyboard controller ? > > Um, well, sort of, perhaps. Our kernel may be having difficulty > in communicating with the keyboard via the docking station. The keyboard > controller in the notebook computers sometimes have slightly different > features and exhibit different behavior than the keyboard controller > on the normal mothorboard... > > >Thanks for your help, > > > >Claude. > [...] > > >Copyright (c) 1992-2000 The FreeBSD Project. > >Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > > The Regents of the University of California. All rights reserved. > >FreeBSD 4.2-RELEASE #1: Thu Dec 21 20:15:08 EST 2000 > > root@lmcpc118634.pc:/usr/src/sys/compile/LMC > >Calibrating clock(s) ... TSC clock: 266706126 Hz, i8254 clock: 1193316 Hz > >CLK_USE_I8254_CALIBRATION not specified - using default frequency > [...] > > >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 > >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 > >atkbd: the current kbd controller command byte 0065 > >atkbd: keyboard ID 0x41ab (2) > >kbdc: RESET_KBD return code:00fa > >kbdc: RESET_KBD status:00aa > >kbd0 at atkbd0 > >kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000 > [...] > > This looks good. > > >syncing disks... 4 4 4 4 > >done > >Uptime: 1d1h46m21s > >Rebooting... > >Copyright (c) 1992-2000 The FreeBSD Project. > >Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > > The Regents of the University of California. All rights reserved. > >FreeBSD 4.2-RELEASE #1: Thu Dec 21 20:15:08 EST 2000 > > root@lmcpc118634.pc:/usr/src/sys/compile/LMC > >Calibrating clock(s) ... TSC clock: 266706966 Hz, i8254 clock: 1193319 Hz > >CLK_USE_I8254_CALIBRATION not specified - using default frequency > >Timecounter "i8254" frequency 1193182 Hz > [...] > > >atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 > >atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 > >atkbd: the current kbd controller command byte 0065 > >atkbd: keyboard ID 0x41ab (2) > >kbdc: RESET_KBD return code:ffffffff > >kbdc: RESET_KBD return code:ffffffff > >kbdc: RESET_KBD return code:00fa > >kbdc: RESET_KBD status:00fa > >kbdc: DIAGNOSE status:0055 > >kbdc: TEST_KBD_PORT status:0000 > >atkbd: failed to reset the keyboard. > >device_probe_and_attach: atkbd0 attach returned 6 > [...] > > This is bad ;-< > > Kazu Thanks again for your help !!! Claude. Claude Lefrancois Ericsson Research Canada lmcclef@lmc.ericsson.se State Changed From-To: open->closed Documented the flag in CURRENT and STABLE. |