Trouble in getting a Logitech Trackman Marble to work with an USB to Serial adapter
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I am running SUSE Linux 10.1 on a Thinpad T42 Laptop here. I currently try to connect my old trusty Logitech Trackman Marble FX as an additional mouse device (via an USB to Serial adapter, as the Thinkpad does not have a serial port anymore) and I am facing some trouble. The Trackman has a PS/2 Connector, but also came with a PS/2 to Serial adapter, which I used to connect it to the USB to Serial converter. According to the kernel messages, the USB adapter seems to be detected just fine: [SNIP] usb 1-3.1: new full speed USB device using ehci_hcd and address 11 usb 1-3.1: new device found, idVendor=067b, idProduct=2303 usb 1-3.1: new device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-3.1: Product: USB-Serial Controller usb 1-3.1: Manufacturer: Prolific Technology Inc. usb 1-3.1: configuration #1 chosen from 1 choice usbcore: registered new driver usbserial drivers/usb/serial/usb-serial.c: USB Serial support registered for generic usbcore: registered new driver usbserial_generic drivers/usb/serial/usb-serial.c: USB Serial Driver core drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303 pl2303 1-3.1:1.0: pl2303 converter detected usb 1-3.1: pl2303 converter now attached to ttyUSB0 usbcore: registered new driver pl2303 drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver [SNIP] Once the adapter is plugged in, a /dev/ttyUSB0 device exists. I added the following to my /etc/X11/xorg.conf: [SNIP] Section "InputDevice" Driver "mouse" Identifier "Trackball" Option "Device" "/dev/ttyUSB0" Option "Name" "TrackMan Marble FX" Option "Protocol" "Auto" Option "Vendor" "Logitech" Option "AngleOffset" "10" Option "Buttons" "5" Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" Option "YAxisMapping" "4 5" Option "EmulateWheelInertia" "8" EndSection [SNIP] However, the X server does not seem to be happy - the mouse pointer does not move. - From /var/log/Xorg.0.log: [SNIP] (**) Trackball: Device: "/dev/ttyUSB0" (**) Trackball: Protocol: "Auto" (**) Option "CorePointer" "False" (**) Option "Device" "/dev/ttyUSB0" (**) Option "Buttons" "5" (==) Trackball: Emulate3Buttons, Emulate3Timeout: 50 (**) Option "AngleOffset" "10" (**) Trackball: ZAxisMapping: buttons 4 and 5 (**) Option "EmulateWheel" "true" (**) Option "EmulateWheelButton" "8" (**) Option "EmulateWheelInertia" "8" (**) Option "YAxisMapping" "4 5" (**) Trackball: YAxisMapping: buttons 4 and 5 (**) Trackball: EmulateWheel, EmulateWheelButton: 8, EmulateWheelInertia: 8, EmulateWheelTimeout: 20 0 (**) Trackball: Buttons: 9 (II) XINPUT: Adding extended input device "Trackball" (type: MOUSE) (II) Trackball: PnP ID string: `(!DLGI8049\\MOUSE\PNP0F0890)' (II) Trackball: PnP rev 1.00 (II) Trackball: PnP-detected protocol ID: -2 (**) Option "Device" "/dev/ttyUSB0" (EE) Trackball: GuessProtocol: Cannot find mouse protocol. [SNIP] I tried a different mouse protocol (explorerps/2), but that did not make a difference. There was no error in the Xorg log, but the mouse pointer did not move either. Does anybody have an idea? Could it be that the USB adapter is not capable of generating enough power to drive the Trackball or is not providing all the required connections? On the bottom of the Trackball device it reads: "5V/10mA". I wonder if I have to purchase a dedicated USB to PS/2 converter instead... Does anybody have any experiences on how these are supported on Linux Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFE2e3rSVDhKrJykfIRArQiAJ0UkpsAqAkGxiqG2YuJkYKzz0nD+ACggh6h ZKhakaOCrw4A6kY6V2MKjK0= =WaQh -----END PGP SIGNATURE-----
On Aug 09, 06 16:15:08 +0200, Lenz Grimmer wrote:
Once the adapter is plugged in, a /dev/ttyUSB0 device exists. I added the following to my /etc/X11/xorg.conf:
[SNIP] Section "InputDevice" Driver "mouse" Identifier "Trackball" Option "Device" "/dev/ttyUSB0" Option "Name" "TrackMan Marble FX" Option "Protocol" "Auto" Option "Vendor" "Logitech" Option "AngleOffset" "10" Option "Buttons" "5" Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" Option "YAxisMapping" "4 5" Option "EmulateWheelInertia" "8" EndSection [SNIP]
You typically don't want an additional device section, but just use the kernel emulation. If the kernel doesn't understand the mouse protocol, chances are dimm that Xorg understands it. And if you want to specify it yourself, you might want to try a different protocol: Auto, Microsoft, MouseSystems, MMSeries, Logitech, Mouse‐ Man, MMHitTab, GlidePoint, IntelliMouse, ThinkingMouse, ValuMouseScroll, AceCad, PS/2, ImPS/2, ExplorerPS/2, Think‐ ingMousePS/2, MouseManPlusPS/2, GlidePointPS/2, Net‐ MousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue. I guess most of them are not automatically detected.
Does anybody have an idea? Could it be that the USB adapter is not capable of generating enough power to drive the Trackball or is not providing all the required connections? On the bottom of the Trackball device it reads: "5V/10mA". I wonder if I have to purchase a dedicated USB to PS/2 converter instead... Does anybody have any experiences on how these are supported on Linux
I don't think that power is a problem for a trackball. CU Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ labs www.mshopf.de
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Matthias, thanks for your reply! Matthias Hopf wrote:
You typically don't want an additional device section, but just use the kernel emulation. If the kernel doesn't understand the mouse protocol, chances are dimm that Xorg understands it.
Not sure if I understand your comment. I already have a device section that covers the internal trackpoint and an external USB mouse, which both use /dev/input/mice To connect the trackball (which does not support USB), I use an USB to Serial adapter, which registers itself as /dev/ttyUSB0 - that's my main reason for adding another device section. All the other options are taken from previous x.org config files on systems where I used the trackball before. The Kernel is not aware that there is a mouse device behind /dev/ttyUSB0, similar to when I connect it to a regular ttySx serial port. Or am I missing something?
And if you want to specify it yourself, you might want to try a different protocol:
Auto, Microsoft, MouseSystems, MMSeries, Logitech, Mouse‐ Man, MMHitTab, GlidePoint, IntelliMouse, ThinkingMouse, ValuMouseScroll, AceCad, PS/2, ImPS/2, ExplorerPS/2, Think‐ ingMousePS/2, MouseManPlusPS/2, GlidePointPS/2, Net‐ MousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue.
I guess most of them are not automatically detected.
I tried both "Auto" as well as "explorerps/2" - none made the cursor to move. The latter seems to be the correct one when using the Trackball via the PS/2 port. I wonder if using it via the Serial port requires a different protocol - but "Auto" failed to detect it.
I don't think that power is a problem for a trackball.
Well, I have now ordered a USB to PS/2 Adapter. Let's see if that helps... But thanks for your help! Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFE4fE0SVDhKrJykfIRAr6zAJ9LPngYva+SXQlKR94ZKYK915UGrwCfUFaq goF+X0v3oHToqMfkTWGsmks= =oky2 -----END PGP SIGNATURE-----
On Aug 15, 06 18:07:19 +0200, Lenz Grimmer wrote:
To connect the trackball (which does not support USB), I use an USB to Serial adapter, which registers itself as /dev/ttyUSB0 - that's my main
Ah, ok. That, of course, isn't tracked. But if it is a serial protocol, any *ps/2 protocol probably won't work. AFAIU no serial protocol is autoprobed any more. Try Microsoft, Logitech, IntelliMouse, MouseMan.
I don't think that power is a problem for a trackball.
Well, I have now ordered a USB to PS/2 Adapter. Let's see if that helps... But thanks for your help!
That, of course, is another possibility :) CU Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ labs www.mshopf.de
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Matthias Hopf wrote:
On Aug 15, 06 18:07:19 +0200, Lenz Grimmer wrote:
To connect the trackball (which does not support USB), I use an USB to Serial adapter, which registers itself as /dev/ttyUSB0 - that's my main
Ah, ok. That, of course, isn't tracked. But if it is a serial protocol, any *ps/2 protocol probably won't work. AFAIU no serial protocol is autoprobed any more. Try Microsoft, Logitech, IntelliMouse, MouseMan.
Thanks for the hint! I toyed around some more with the serial adapter and finally managed to get it working! The problem was that the X server always preferred the first InputDevice section that defined the internal trackpoint. For testing, I simply disabled it and "forced" the server to use the Trackball section. This is the resulting device configuration: Section "InputDevice" Driver "mouse" Identifier "Trackball" Option "Device" "/dev/ttyUSB0" Option "Name" "TrackMan Marble FX" Option "Protocol" "Intellimouse" Option "Vendor" "Logitech" Option "AngleOffset" "10" Option "Buttons" "8" Option "Emulate3Buttons" "off" Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" # Option "ButtonMapping" "1 8 3 4 5 6 7 2 9" Option "YAxisMapping" "4 5" Option "EmulateWheelInertia" "8" EndSection I tried to swap Buttons 2 and 8, but that somehow did not work. Strange.
Well, I have now ordered a USB to PS/2 Adapter. Let's see if that helps... But thanks for your help!
That, of course, is another possibility :)
The Adapter arrived today and I of course had to give this a try as well :) The kernel detects it immediately: usb 4-3.4: new low speed USB device using ehci_hcd and address 6 usb 4-3.4: new device found, idVendor=04b4, idProduct=8081 usb 4-3.4: new device strings: Mfr=0, Product=2, SerialNumber=0 usb 4-3.4: Product: PS/2 to USB Adapter usb 4-3.4: configuration #1 chosen from 1 choice input: PS/2 to USB Adapter as /class/input/input7 input: USB HID v1.00 Keyboard [PS/2 to USB Adapter] on usb-0000:00:1d.7-3.4 input: PS/2 to USB Adapter as /class/input/input8 input: USB HID v1.00 Mouse [PS/2 to USB Adapter] on usb-0000:00:1d.7-3.4 This makes it a bit simpler, as it does not reqiure a separate InputDevice Section for /dev/ttyUSB0. It actually worked (partly) after connecting the Trackball it, now both the internal trackpoint and the external Trackball can be used in parallel. However, it now does not detect all four buttons anymore! The fourth button (which xev reported as Button 8 using the serial connection) no longer triggers any action :( I will toy around with this some more and maybe write a separate message. But it seems like the mouse device handling in X.org has a few subtle quirks and bugs... Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFE5KXRSVDhKrJykfIRApHmAJ9su6jAe+zFYOf6ECyEjqwMdux6SQCePAh2 7d5ckHnrX6RM4NLZ9cqlPwY= =k6wU -----END PGP SIGNATURE-----
On Aug 17, 06 19:22:27 +0200, Lenz Grimmer wrote:
Ah, ok. That, of course, isn't tracked. But if it is a serial protocol, any *ps/2 protocol probably won't work. AFAIU no serial protocol is autoprobed any more. Try Microsoft, Logitech, IntelliMouse, MouseMan.
Thanks for the hint! I toyed around some more with the serial adapter and finally managed to get it working! The problem was that the X server always preferred the first InputDevice section that defined the internal trackpoint. For testing, I simply disabled it and "forced" the server to use the Trackball section. This is the resulting device configuration:
Didn't think of that you might have forgot that, but you have to make all input devices known to the Xserver in the ServerLayout section: InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[2]" "SendCoreEvents" InputDevice "Mouse[3]" "SendCoreEvents" ...
Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" # Option "ButtonMapping" "1 8 3 4 5 6 7 2 9" Option "YAxisMapping" "4 5" Option "EmulateWheelInertia" "8" EndSection
I tried to swap Buttons 2 and 8, but that somehow did not work. Strange.
It should. Note that you're swapping *physical* mice buttons 2 and 8. I doubt your Mouse has 8 buttons (wheel movement not counting). Try ButtonMapping 1 4 3 2
external Trackball can be used in parallel. However, it now does not detect all four buttons anymore! The fourth button (which xev reported as Button 8 using the serial connection) no longer triggers any action :(
ps/2 protocols only know of 5 buttons. The fourth button should be possible, though, try explorerps/2 as protocol.
I will toy around with this some more and maybe write a separate message. But it seems like the mouse device handling in X.org has a few subtle quirks and bugs...
Yeeeeesssss. Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ labs www.mshopf.de
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Matthias, thanks for your reply! Matthias Hopf wrote:
Didn't think of that you might have forgot that, but you have to make all input devices known to the Xserver in the ServerLayout section:
InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[2]" "SendCoreEvents" InputDevice "Mouse[3]" "SendCoreEvents" ...
Yes, I did include both Input Devices in there. However, I may have missed the "SendCoreEvents" Option. I tried various combinations (just listing both devices without "CorePointer", swapping the "CorePointer" option) but somehow only the Trackball or the internal PS/2 Trackpoint worked. I may have to try the "SendCoreEvents" option, I was not aware it is required.
Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" # Option "ButtonMapping" "1 8 3 4 5 6 7 2 9" Option "YAxisMapping" "4 5" Option "EmulateWheelInertia" "8" EndSection
I tried to swap Buttons 2 and 8, but that somehow did not work. Strange.
It should. Note that you're swapping *physical* mice buttons 2 and 8. I doubt your Mouse has 8 buttons (wheel movement not counting).
The fourth mouse button on the Trackball was reported as "button 8" by xev, when I used it via the serial port. And it somehow made sense to me, if you want to emulate two wheels (X and Y), which would occupy the button numbers from 4-7.
Try ButtonMapping 1 4 3 2
Will give it a try, thanks! Once that fourth button is generating any events again, that is...
external Trackball can be used in parallel. However, it now does not detect all four buttons anymore! The fourth button (which xev reported as Button 8 using the serial connection) no longer triggers any action :(
ps/2 protocols only know of 5 buttons. The fourth button should be possible, though, try explorerps/2 as protocol.
I think I tried almost any PS/2 Mouse Protocol and none of them caused xev to report any activity when I pressed the fourth mouse button :( That's the strange part about it. Using it as a serial device showed it as "button 8" in xev, while it's just dead when using it via the PS/2 port. Could this be caused by the internal trackpoint, which only reports three buttons? Anyway, I have now resorted to using Button 2 to emulate the wheel. This works quite well. I guess I can live with the fourth button being unavailable... Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFE6qWRSVDhKrJykfIRAoxeAJ42gS0tNil8WJqThgWtU9pIUbv6UwCfXZuh ++VTlMDZYv2YLDD4fuMpkXc= =m2V9 -----END PGP SIGNATURE-----
participants (2)
-
Lenz Grimmer
-
Matthias Hopf