Driver crashes with SuSE 12.1

Questions and answers about 3Dconnexion devices on UNIX and Linux.

Moderator: Moderators

Post Reply
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Driver crashes with SuSE 12.1

Post by terwarf »

When starting the driver under SuSE 12.1 the driver window shows up, but after a few seconds i get an error on the console that reads:

Code: Select all

3DxWareUNIX = V1.4.3
Device      = SpaceNavigator for Notebooks
Firmware    = V4.15
udusb_linux.c :: UdUSBStartRead(), Error submitting URB: Cannot allocate memory 12 -1
Is there anything I can do about this? It's sad to boot to win each time just to use the Navigator...
Barbara
Posts: 534
Joined: Fri May 14, 2010 11:11 am

Driver crashes with SuSE 12.1

Post by Barbara »

Hi terwarf -

You can download the current 1.6.0 driver from our downloads page. I am able to use the SpaceNavigator for Notebooks with SuSE 12.1 with this driver. The 1.4.3 driver was developed for earlier OS versions so I suspect that is the problem.

-----------
Barbara
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

Thank you for your quick reply.

I am already using the 1.6 driver ( 3dxware-linux-v1-6-0.x86_64.tar.gz )
No doubt why it reports version 1.4.3...

Code: Select all

linux-h3jo:/etc/3DxWare/daemon # ./3dxsrv -v
3DxWareUNIX = V1.4.3, ID 4872
also the readme states version 1.4.3:

Code: Select all

linux-h3jo:/etc/3DxWare # head readme.3dxware 
3DxWare Help
Version 1.4.3
May 2009
Copyright 2005 - 2009 3Dconnexion, Inc.

The following provides information on how to use the 3DxWare Control Panel.  Additional
reference material, frequently asked questions, and technical support contact information can be
found on the 3Dconnexion CD (3DxCDROM) or from the 3Dconnexion Website at www.3dconnexion.com.

I never had installed an older Version of the driver, just bought the Pilot roughly a month ago...

Debug output:

Code: Select all

linux-h3jo:/etc/3DxWare/daemon # ./3dxsrv -d USB -debug
[2012-03-26 17:47:20] uddev.c, 1198: UdDevInit() 0x56b010
[2012-03-26 17:47:20] 3dxsrv.c,797: displayname = :0
[2012-03-26 17:47:20] auth.c :: authGetUser(), FOUND: user = alex, id = :0, line = :0, pid =     1839, host = console, type = 7
[2012-03-26 17:47:20] auth.c :: authGetUser(), FOUND: user home = "/home/alex"
[2012-03-26 17:47:20] 3dxsrv.c :: startupCommandLine(), authGetUser(), user=alex
[2012-03-26 17:47:20] UdDev: Opening USB device on USB port /dev/bus/usb/005/002
[2012-03-26 17:47:20] UdDev: Opening SpaceNavfN on USB port /dev/bus/usb/005/002
[2012-03-26 17:47:20] snavfn_usb.c :: UdDevRezero(): Rezeroing the device
[2012-03-26 17:47:20] 3dxsrv.c,822: UdDevOpen() was successful [SpaceNavigator for Notebooks]
[2012-03-26 17:47:20] 3dxsrv.c,833: authorizeWithX11() was successful
[2012-03-26 17:47:20] 3dxsrv.c :: startupCommandLine(), XOpenDisplay called with display name=:0, display = 56bd60
[2012-03-26 17:47:20] 3dxsrv.c :: startupCommandLine(), SUCCESS!

3DxWareUNIX = V1.4.3
Device      = SpaceNavigator for Notebooks
Firmware    = V4.15
[2012-03-26 17:47:20] Home directory: /home/alex
[2012-03-26 17:47:20] UiSb: Directory "/etc/3DxWare" opened for configs.
[2012-03-26 17:47:20] UiSb: Directory "/home/alex/.3dxcfg" opened for configs.
udusb_linux.c :: UdUSBStartRead(), Error submitting URB: Cannot allocate memory 12 -1

Kernel version reads:

Code: Select all

linux-h3jo:/etc/3DxWare/daemon # uname -a
Linux linux-h3jo.site 3.1.9-1.4-desktop #1 SMP PREEMPT Fri Jan 27 08:55:10 UTC 2012 (efb5ff4) x86_64 x86_64 x86_64 GNU/Linux
Is there anything else i can provide to get it running?
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

I got one step further:

After deleting the whole /etc/3dxWare folder and installing the driver again, it now reports v1.6.0. But sadly, it keeps crashing.

Code: Select all

linux-h3jo:/etc/3DxWare/daemon # ./3dxsrv -d USB -debug
[2012-03-26 18:48:43] uddev.c, 783: UdDevInit() 0x568010
[2012-03-26 18:48:43] 3dxsrv.c,806: displayname = :0
[2012-03-26 18:48:43] auth.c :: authGetUser(), FOUND: user = alex, id = :0, line = :0, pid =     1860, host = console, type = 7
[2012-03-26 18:48:43] auth.c :: authGetUser(), FOUND: user home = "/home/alex"
[2012-03-26 18:48:43] 3dxsrv.c :: startupCommandLine(), authGetUser(), user=alex
[2012-03-26 18:48:43] UdDev: Opening USB device on USB port /dev/bus/usb/005/002
[2012-03-26 18:48:43] UdDev: Opening SpaceNavfN on USB port /dev/bus/usb/005/002
[2012-03-26 18:48:43] snavfn_usb.c :: UdDevRezero(): Rezeroing the device
[2012-03-26 18:48:43] snavfn_usb.c :: UdDevSetDeadband(): Setting deadband to 26
[2012-03-26 18:48:43] 3dxsrv.c,831: UdDevOpen() was successful [SpaceNavigator for Notebooks]
[2012-03-26 18:48:43] 3dxsrv.c,842: authorizeWithX11() was successful
[2012-03-26 18:48:43] 3dxsrv.c :: startupCommandLine(), XOpenDisplay called with display name=:0, display = 568d60
[2012-03-26 18:48:43] 3dxsrv.c :: startupCommandLine(), SUCCESS!

3DxWareUNIX = V1.6.0
Device      = SpaceNavigator for Notebooks
Firmware    = V4.15
[2012-03-26 18:48:43] Home directory: /home/alex
[2012-03-26 18:48:43] UiSb: Directory "/etc/3DxWare" opened for configs.
[2012-03-26 18:48:43] UiSb: Directory "/home/alex/.3dxcfg" not found
udusb_linux.c :: UdUSBStartRead(), Error submitting URB: Cannot allocate memory 12 -1
The readme file states some udev scripts, but i can't find them anywhere in the tar.gz...
Also the start through /etc/inittab doesen't seem to work, i always have to execute the driver through a terminal (which isn't that worse for me).

To let the driver crash i have to wait a couple of minutes or trying to change the profile in the UI, that had done it each time i tried...

After reinstalling i was able to execute /tmp/xcube, and it was working for some minutes, before the driver crashed again :(

All my efforts to use it in blender sadly had no result (blender 2.59.0 and 2.62 r44136)

Are there any files that i could have missed with deleting?
Barbara
Posts: 534
Joined: Fri May 14, 2010 11:11 am

Post by Barbara »

Hello terwarf -

You are taking all of the right steps. Thanks for providing details including the debug log . I'll ask one one our engineers to take a look at what the source of the 'Cannot allocate memory..' error might be.

I am starting the driver in the terminal rather than the inittab also.

As for Blender, have you tried the build optimized for 3Dconnexion devices here ? I've tried this one in SuSE with good results.

------------
Barbara
UtaSH
Moderator
Moderator
Posts: 3754
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Re: Driver crashes with SuSE 12.1

Post by UtaSH »

Hello terwarf,

thanks for the detailed debug information.

It's difficult to determine why the driver can't submit it's report to the device. Do you have a chance to test your device on a Windows machine to see if it is working properly?
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

Yes, I have an dualboot setup - under windows it's working fine...
UtaSH
Moderator
Moderator
Posts: 3754
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH »

Do you get anything about USB or USBFS in your /var/log /messages file?
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

No, I found nothing there regarding USBFS (a lot USB stuff, but that doesn't seems connected to the driver).

Strange thing is, I just tried again - without any changes to my system, after some days not using the space pilot with linux and it's working now for at least half an hour without crashing!
I really tried and clicked nearly everything in the driver, but this time I haven't managed to bring it down...

Xcube is working fine now, just blender won't recognize the device.
If I start blender in debug mode, it just says:

Code: Select all

alex@linux-h3jo:~/bin/blender-2.62-linux-glibc27-x86_64> ./blender -d
Blender 2.62 (sub 0)
Build: 2012-02-15 18:26:54 Linux:64bit Release
argv[0] = ./blender
argv[1] = -d
connect failed: No such file or directory
ndof: spacenavd not found
read file 
  Version 258 sub 1 svn r0
...
Is there any kind of plugin I can throw at blender to make it work? May it be related to my 64bit-OS?

If I manage to get it work or to crash the driver again, i'll report back with more info...
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

Just a note - the build mentioned by Barabara is crashing with:
alex@linux-h3jo:~/Downloads/spaceNavigator/blender-3dx-38846> ./blender
ndof: dead zone set to 0.10
connect failed: No such file or directory
ndof: spacenavd not found
Info: Config directory with "startup.blend" file not found.
found bundled python: /home/alex/Downloads/spaceNavigator/blender-3dx-38846/2.58/python
Fatal Python error: Py_Initialize: Unable to get the locale encoding
LookupError: no codec search functions registered: can't find encoding
Abgebrochen
all blender builds i tryed seems looking for spacenav, not for the official driver...

I'm giving up for today (a little bit disapointed spending 130€ on a device marketed as "Plug and play with blender" and "Linux compatible" not usable for anything but turning a cube in a small window... :roll:
terwarf
Posts: 8
Joined: Sat Mar 24, 2012 11:48 pm
Location: Kempen, Germany

Post by terwarf »

Seems I got the solution :D

The USB ports located left on my laptop are USB3 - if I use any of those, the driver crashes.
If I use one of the ports on the right side, which are USB2, it works fine...

I add the output of dmesg in both cases, maybe it helps you with debugging in any way.
At least you can give the hint to others reporting crashes...

dmesg output when using USB3 port:
[61128.448168] usb 5-1: new low speed USB device number 2 using xhci_hcd
[61128.480009] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.489838] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.495835] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.496839] usb 5-1: New USB device found, idVendor=046d, idProduct=c628
[61128.496848] usb 5-1: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[61128.496856] usb 5-1: Product: SpaceNavigator for Notebooks
[61128.496861] usb 5-1: Manufacturer: 3Dconnexion
[61128.497327] usb 5-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[61128.636048] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.645048] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.654039] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.656825] xhci_hcd 0000:00:10.0: WARN: Stalled endpoint
[61128.661037] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.669813] xhci_hcd 0000:00:10.0: WARN: Stalled endpoint
[61128.708971] xhci_hcd 0000:00:10.0: WARN: Stalled endpoint
[61128.713039] xhci_hcd 0000:00:10.0: WARN: short transfer on control ep
[61128.718285] input: 3Dconnexion SpaceNavigator for Notebooks as /devices/pci0000:00/0000:00:10.0/usb5/5-1/5-1:1.0/input/input20
[61128.718875] generic-usb 0003:046D:C628.0003: input,hidraw2: USB HID v1.10 Multi-Axis Controller [3Dconnexion SpaceNavigator for Notebooks] on usb-0000:00:10.0-1/input0
[61496.121460] usb 5-1: usbfs: process 9732 (3dxsrv) did not claim interface 0 before use
[61509.814199] xhci_hcd 0000:00:10.0: ERROR no room on ep ring
[61509.814212] usb 5-1: usbfs: usb_submit_urb returned -12

dmesg output when using USB2 port:
[61874.509132] usb 3-1: new low speed USB device number 2 using ohci_hcd
[61874.665388] usb 3-1: New USB device found, idVendor=046d, idProduct=c628
[61874.665398] usb 3-1: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[61874.665405] usb 3-1: Product: SpaceNavigator for Notebooks
[61874.665410] usb 3-1: Manufacturer: 3Dconnexion
[61874.897884] input: 3Dconnexion SpaceNavigator for Notebooks as /devices/pci0000:00/0000:00:12.0/usb3/3-1/3-1:1.0/input/input21
[61874.898999] generic-usb 0003:046D:C628.0004: input,hidraw2: USB HID v1.10 Multi-Axis Controller [3Dconnexion SpaceNavigator for Notebooks] on usb-0000:00:12.0-1/input0
[61888.807558] usb 3-1: usbfs: process 9882 (3dxsrv) did not claim interface 0 before use
Post Reply