LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Touchpad not beign recognized (probably the kernel doesn't load it) (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/touchpad-not-beign-recognized-probably-the-kernel-doesnt-load-it-918152/)

free-user 12-11-2011 06:19 AM

Touchpad not beign recognized (probably the kernel doesn't load it)
 
Hi, I have a Sony Vaio VGN-NS21Z and I can't enable the touchpad.
I've been looking for help before on a Fedora forum as I use Fedora but I've find out that my problem is kernel related so I'll try luck here.

The problem is:

I have a laptop with a touchpad that is not beign loaded with the kernel. (Not appears at the Xorg log nor xinput list)

My touchpad has not a function key to activate it or disabling it so that is not the problem.

I've tried enabling i8042 parameters at kernel options as seen googling it and it doesn't work.

Before someone asks yes, the touchpad works at my Windows 7 partition. This is what I've got from the device properties at Windows 7.

Quote:

NOTE: Titles are translated by me so may do not match with the Windows7 English version ones.
  • Hardware ID:
    Code:

    ACPI\SNY9008
    *SNY9008

  • Compatible ID
    *PNP0F13
  • Service
    i8042prt
  • Name of device physic objet
    \Device\0000005d
  • Access path to the instance of the device
    ACPI\SNY9008\4&3290F976&0
  • Primary
    PCI\VEN_8086&DEV_2919&SUBSYS_9045104D&REV_03\3&11583659&0&F8
  • Brothers
    Code:

    ACPI\PNP0200\4&3290f976&0
    ACPI\INT0800\4&3290f976&0
    ACPI\PNP0103\4&3290f976&0
    ACPI\PNP0000\4&3290f976&0
    ACPI\PNP0C04\4&3290f976&0
    ACPI\PNP0C02\2
    ACPI\PNP0B00\4&3290f976&0
    ACPI\PNP0100\4&3290f976&0
    ACPI\PNP0303\4&3290f976&0
    ACPI\PNP0C09\4&3290f976&0
    ACPI\SNY5001\4&3290f976&0

  • Node secure name of the controller
    msmouse.inf:MSMfg.NTamd64:PS2_Inst:6.1.7600.16385:*pnp0f13
  • Id of the matching device
    *pnp0f13

From that details I've found at the dmesg something related to PNP0F13 and SNY9008 which seems to be related to the touchpad as seen at Windows details:

As I can see I think that the kernel detects the touchpad but when it has to assign it to wherever it has to be assigned to work it confounds the touchpad with the keyboard or whatever and then I have the keyboard "mounted" two times.
Code:

$ dmesg | grep PNP0f13
[    0.882985] pnp 00:08: Plug and Play ACPI device, IDs SNY9008 PNP0f13 (active)
[    1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12

$ dmesg | grep i8042
[    1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    1.825321] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.846471] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2

Full dmesg here
/var/log/Xorg.0.log

I've checked the ioports and it suggest me that I'm correct.
You can see that I have two ports exactly at 0x60 and 0x64 at ioports that are a keyboard (maybe it is normal but I don't know).
If we assume that SNY9008 PNP0F13 is the touchpad (Which I think it is as seen on Windows 7) that is the problem.
/proc/ioports
Code:

0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0062-0062 : EC data
  0064-0064 : keyboard
  0066-0066 : EC cmd
  0070-0077 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu
  03c0-03df : vga+
  0400-047f : pnp 00:05
    0400-0403 : ACPI PM1a_EVT_BLK
    0404-0405 : ACPI PM1a_CNT_BLK
    0408-040b : ACPI PM_TMR
    0410-0415 : ACPI CPU throttle
    0420-042f : ACPI GPE0_BLK
    0430-0433 : iTCO_wdt
    0450-0450 : ACPI PM2_CNT_BLK
    0460-047f : iTCO_wdt
  0500-053f : pnp 00:05
  0680-069f : pnp 00:05
  0800-0803 : pnp 00:05
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
  1000-100f : pnp 00:05
  164e-164f : pnp 00:05
  a000-afff : PCI Bus 0000:05
  b000-bfff : PCI Bus 0000:03
  c000-cfff : PCI Bus 0000:02
    c000-c0ff : 0000:02:00.0
      c000-c0ff : sky2
  d000-dfff : PCI Bus 0000:01
    d000-d0ff : 0000:01:00.0
  e000-e01f : 0000:00:1f.3
    e000-e01f : i801_smbus
  e020-e03f : 0000:00:1f.2
    e020-e03f : ahci
  e040-e05f : 0000:00:1d.2
    e040-e05f : uhci_hcd
  e060-e07f : 0000:00:1d.1
    e060-e07f : uhci_hcd
  e080-e09f : 0000:00:1d.0
    e080-e09f : uhci_hcd
  e0a0-e0bf : 0000:00:1a.2
    e0a0-e0bf : uhci_hcd
  e0c0-e0df : 0000:00:1a.1
    e0c0-e0df : uhci_hcd
  e0e0-e0ff : 0000:00:1a.0
    e0e0-e0ff : uhci_hcd
  e100-e103 : 0000:00:1f.2
    e100-e103 : ahci
  e110-e117 : 0000:00:1f.2
    e110-e117 : ahci
  e120-e123 : 0000:00:1f.2
    e120-e123 : ahci
  e130-e137 : 0000:00:1f.2
    e130-e137 : ahci

I'm not an expert, just an average user so I may be wrong, please give me some help. If you need more info please ask.

Using: Fedora 16 KDE Spin kernel 3.1.4-1.fc16.i686.PAE
Now 3.1.9-1.fc16.i686.PAE

frankbell 12-12-2011 09:09 PM

Try running the dmesg command in a terminal. If the touchpad is recognized, post the relevant output here.

free-user 12-13-2011 01:48 PM

Thanks for your reply but if you read the entire post I've already uploaded the full dmesg entry and posted relevant output that I think is related to the touchpad.

frankbell 12-13-2011 06:57 PM

Quote:

Originally Posted by free-user (Post 4549017)
Thanks for your reply but if you read the entire post I've already uploaded the full dmesg entry and posted relevant output that I think is related to the touchpad.

Whoops, my apologies. Thanks for setting me straight.

calemr 01-10-2012 11:41 PM

I have the exact same problem on my Sony Vaio VGN-CS385J. All messages and the double assignment of the keyboard are the same.

Still no fix for this??

business_kid 01-16-2012 11:02 AM

Clarify

Does it work with gpm outside of an X session?

is the snyaptics driver loaded. There's usually an xorg.conf.d in /usr/share/X11 or /etc/X11 and the synaptics driver was loaded here, but then the evdev driver was loaded afterwards and grabbed everything.

Check for that

free-user 01-22-2012 04:31 AM

Thank for your answer business_kid but I don't understand what you're saying. Can you explain it with more detail please?

DMESG
/var/log/Xorg.0.log

And uname -r: 3.1.9-1.fc16.i686.PAE

EDIT: Ok, at /etc/X11/xorg.conf.d/ I don't have any synaptics entry just:
00-catalyst-modulepath.conf
00-system-setup-keyboard.conf
01-catalyst-videodriver.conf
at usr/share/X11/xorg.conf.d/ I have a synaptics entry
50-synaptics.conf

free-user 01-22-2012 06:53 AM

$ xinput list
Code:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜  ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜  ↳ Microsoft Compact Optical Mouse 500      id=10  [slave  pointer  (2)]
⎣ Virtual core keyboard                        id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
    ↳ Sony Vaio Keys                            id=6    [slave  keyboard (3)]
    ↳ Video Bus                                id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ UVC Camera (05ca:18b3)                    id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11  [slave  keyboard (3)]

$ cat /proc/bus/input/devices
Code:

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/LNXVIDEO:01/input/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=3
B: KEY=3e000b 0 0 0 0 0 0 0

I: Bus=0010 Vendor=104d Product=0000 Version=0000
N: Name="Sony Vaio Keys"
P: Phys=
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/SNY5001:00/input/input4
U: Uniq=
H: Handlers=kbd event4 rfkill
B: PROP=0
B: EV=13
B: KEY=1f 160f0000 c 0 100100 0 2 0 600f 102c00 3800002 40300400 e0000 0 0 0
B: MSC=10

I: Bus=0010 Vendor=104d Product=0000 Version=0000
N: Name="Sony Vaio Jogdial"
P: Phys=
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=mouse0 event5
B: PROP=0
B: EV=7
B: KEY=40000 0 0 0 0 0 0 0 0
B: REL=100

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input6
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input7
U: Uniq=
H: Handlers=event7
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0003 Vendor=05ca Product=18b3 Version=5002
N: Name="UVC Camera (05ca:18b3)"
P: Phys=usb-0000:00:1a.7-2/button
S: Sysfs=/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/input/input8
U: Uniq=
H: Handlers=kbd event8
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0 0 0 0

I: Bus=0003 Vendor=045e Product=0737 Version=0111
N: Name="Microsoft Compact Optical Mouse 500"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/input/input9
U: Uniq=
H: Handlers=mouse1 event9
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10

As the "Sony Vaio Jogdial" device was not loaded at xinput list I tried to force to load it at xorg.conf with evdev and that's what I get at Xorg log:

Code:

[  346.294] (**) Sony Vaio Jogdial: Applying InputClass "SONY JOGDIAL"
[  346.294] (II) Using input driver 'evdev' for 'Sony Vaio Jogdial'
[  346.294] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[  346.294] (**) Option "CorePointer"
[  346.294] (**) Sony Vaio Jogdial: always reports core events
[  346.294] (**) evdev: Sony Vaio Jogdial: Device: "/dev/input/event5"
[  346.294] (--) evdev: Sony Vaio Jogdial: Vendor 0x104d Product 0
[  346.294] (--) evdev: Sony Vaio Jogdial: Found 2 mouse buttons
[  346.294] (--) evdev: Sony Vaio Jogdial: Found scroll wheel(s)
[  346.294] (--) evdev: Sony Vaio Jogdial: Found relative axes
[  346.294] (II) evdev: Sony Vaio Jogdial: Configuring as mouse
[  346.294] (II) evdev: Sony Vaio Jogdial: Adding scrollwheel support
[  346.294] (**) evdev: Sony Vaio Jogdial: YAxisMapping: buttons 4 and 5
[  346.294] (**) evdev: Sony Vaio Jogdial: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  346.294] (**) Option "config_info" "udev:/sys/devices/virtual/input/input5/event5"
[  346.294] (II) XINPUT: Adding extended input device "Sony Vaio Jogdial" (type: MOUSE, id 12)
[  346.294] (EE) evdev: Sony Vaio Jogdial: failed to initialize for relative axes.
[  346.294] (II) config/udev: Adding input device Sony Vaio Jogdial (/dev/input/mouse0)
[  346.294] (II) No input driver/identifier specified (ignoring)

Anyways the touchpad doesn't work so I don't know if the Sony Vaio Jogdial is the touchpad or if the Jogdial is anything else. (With synaptic driver doesn't load)


The jogdial seems like is a dial that is included at the laptop but is not beign used and it seems that it can emule a mouse as far as I can see there: http://shallowsky.com/linux/vaiotricks.html

business_kid 01-23-2012 12:34 PM

Quote:

I tried to force to load it at xorg.conf with evdev and that's what I get
Can you get evdev out of xorg.conf.d and try with synaptics?

free-user 01-23-2012 02:44 PM

I've aleready tried to force to load the jogdial (which i would assume it's not the touchpad) with synaptics and gives error.
I tried replacing at the evdev entry at xorg.conf.d the evdev drivers for synaptics at the touchpad class and it doesn't do anything.

Thanks for your help!!

free-user 01-27-2012 08:06 AM

The other night I made some progress.

I've found at /sys/devices/pnp0/00:08 that there is a device related to that path. At this path I have some files:
  • "id" which has inside"SNY9008
    PNP0f13"
  • "options" which is blank
  • "resources" which has inside "state = active
    irq 12"
  • "uevent" which has inside "DRIVER=i8042 aux"
I've found relevant data too at /sys/devices/pnp0/00:08/firmware_node
  • "hid" which has inside "SNY9008"
  • "modalias" which has inside "acpi:SNY9008:PNP0F13:"
  • "path" which has inside "\_SB_.PCI0.LPCB.PS2M"
  • "uevent" which has inside "MODALIAS=acpi:SNY9008:PNP0F13:"
Those data matches with the info gathered at dmesg. And I've found out that the path for my keyboard is the same replacing the last M for a K.

Also I have another path with similar information inside "/sys/devices/pnp0/00:08/firmware_node/subsystem/devices/device:01/SNY9008:00"

So as far as I can see I've found a path where leads to a the device we're looking for. I suppose that I have to make a manual udev rule to mount it but I don't know how to do it yet and I don't have much free time now. So if someone knows how to do it, it would be awesome.

free-user 06-15-2012 06:48 AM

Bump, still no solution.

business_kid 06-15-2012 09:16 AM

Quote:

Originally Posted by free-user (Post 4703954)
Bump, still no solution.


OK, time out. If there was a handyy solution, or if you were making an obvious mistake, we'd have found it. Some ideas:

Check www.linux-laptop.net for a page on your box, and see what that guy is doing.
Update the HCL and list your piece of crap

post your exact distro. Some used Hal (e.g. slackware-13.1) and you have to put crap in there, or you're dead. Others behave on the xorg.conf.d stuff.
The log file that _actually_ matters is Xorg.0.log. It's the blow-by-blow as X starts. Check that in case it has a hold of some other config file

pioneerX 10-26-2012 07:12 PM

Same problem!!! Any progress?

business_kid 10-27-2012 03:53 AM

My system works. As you will see from the output of 'cat/proc/ioports' the 2 keyboard slots seem the same, so I would ignore them.
Code:

bash-4.2$ cat /proc/ioports
0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0062-0062 : EC data
  0064-0064 : keyboard
  0066-0066 : EC cmd
  0070-0071 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu<SNIP>

In dmesg, the psmouse module finds a touchpad and there's a node at /sys/devices/platform/i8042/serio4/input/input1 which is created. We are loading the psmouse module? There's mention of firmware - I get this from dmesg |less and '/Touchpad' once that's loaded.
Quote:

psmouse serio4: synaptics: Touchpad model: 1, fw: 6.2, id: 0x2580b1, caps: 0xa04793/0x300000/0x0
psmouse serio4: synaptics: serio: Synaptics pass-through port at isa0060/serio4/input0
input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input1
The i8042 was some ancient keyboard controller chip (probably took the matrix of rows across & down) and the mouse can be fed through there, so you were close. Make sure you are using a distro kernel, as an error in a home baked one could be costing you.

I'd sit at console level and try to get it up manually with gpm. GPM is very good for searching out strange mouses/mice/meece, wherever they are hidden. modprobe psmouse to start.

It's gpm -t <mouse_type> -m <device node> e.g. gpm -t ps/2 -m /dev/input/mice
(If you don't have /dev/input/mice, go looking for it).

pioneerX 10-30-2012 06:01 PM

Thanks for your answer, business_kid. But I think that my situation is the first post's one...

Quote:

$ dmesg | grep i8042
[ 0.789692] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
[ 1.040838] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.173422] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
Did anyone make that work?

business_kid 10-31-2012 04:47 AM

That dmesg command gives me more
Quote:

bash-4.2$ dmesg |grep i8042
i8042: PNP: PS/2 Controller [PNP0303:C24A,PNP0f13:C24B] at 0x60,0x64 irq 1,12
i8042: Detected active multiplexing controller, rev 1.1
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input1
Those greps are misleading because there can be 20 lines between stuff.
There's a couple of fancy options for this box(fingerprint wipe, etc) which I don't have. Is your system loading the keyboard or the mouse first? The interesting check thereabouts is this

sudo ls -l /sys/devices/platform/i8042/serio?

That shows me the at keyboard on serio0 and mouse on serio4


All times are GMT -5. The time now is 05:33 AM.