OpenRoberta / robertalab-usbprogram-nxt

USB connection for NXT
Apache License 2.0
0 stars 1 forks source link

No connection to NXT on Ubuntu 16.04 #6

Open pck1980 opened 4 years ago

pck1980 commented 4 years ago

I installed the USB program on one of our school computers running Ubuntu 16.04 following these instructions: https://jira.iais.fraunhofer.de/wiki/display/ORInfo/Vorbereitung+NXT#VorbereitungNXT-Linux I didn't notice any errors during install, and the USB program runs fine. However, if I connect an NXT to the PC, the program doesn't recognize it, the button stays greyed out. If I run lsusb, the NXT is listed, and the ids shown there match those that are written to /etc/udev/rules.d/70-lego.rules by the install script. Terminal output also looks unsuspicious.

What firmware version is required on the NXT for the program to work?

boonto commented 4 years ago

Sorry, I didn't have notifications for this repo, can you try USBProgramNXT.zip? We had similar issues previously and this version helped.

Steffi15 commented 4 years ago

I tried with that version as well and I still cannot connect to the robot. I'm using OpenSuse Leaf and a Lego Mindstorms NXT 2.0

Steffi15 commented 4 years ago

steffi@linux-31wo: lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 138a:0090 Validity Sensors, Inc. Bus 001 Device 005: ID 04f2:b5c1 Chicony Electronics Co., Ltd Bus 001 Device 004: ID 8087:0a2b Intel Corp. Bus 001 Device 014: ID 0694:0002 Lego Group Mindstorms NXT Bus 001 Device 003: ID 1199:9079 Sierra Wireless, Inc. Bus 001 Device 007: ID 056a:5087 Wacom Co., Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub steffi@linux-31wo: cat /etc/udev/rules.d/70-lego.rules

Lego NXT brick in normal mode

SUBSYSTEM=="usb", DRIVER=="usb", ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0002", GROUP="lego", MODE="0660"

Lego NXT brick in firmware update mode (Atmel SAM-BA mode)

SUBSYSTEM=="usb", DRIVER=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", GROUP="lego", MODE="0660"

boonto commented 4 years ago

Sadly, this is a very tough issue. There are problems with different libusb versions and Linux kernel versions in conjunction with the JLIBNXT we use. This needs to be fixed in JLIBNXT. The problem seems to be the same as in #8.

Steffi15 commented 4 years ago

Is there a workaround like installing another version of libusb or something?

Steffi15 commented 4 years ago

Maybe a dumb idea: Couldn't you link the lib statically?

boonto commented 4 years ago

For me it works with kernel version 4.15 with libusb-1.0.0 and libusb-0.1-4 installed. I think the cutoff for it breaking was in kernel version 4.16 or 4.17. However, it is quite a hassle downgrading kernel versions as a workaround.

Steffi15 commented 3 years ago

Hi! Is there any news on this topic? And by the way, did you ever consider to just connect to the NXT via Bluetooth? It seems like OpenRoberta can do this for other robots - and there are simple "remote control" apps for the NXT that successfully work via Bluetooth, so it should be possible.

pck1980 commented 3 years ago

I'm sorry I forgot to provide additional feedback on this issue. Currently, we aren't working with our NXTs due to Covid-19, but if I remember correctly, the reason it didn't work for us was simply that the user wasn't added to the group "lego" permanently (though I don't remember why this was the case). However, as mentioned above, we didn't use our NXTs for quite some time now, so I can't tell if it does still work or if some kernel update might have broken it. If it's of any use for you, I could try it out if I find the time.

Steffi15 commented 3 years ago

I installed libusb-0.1.4 now and it works like a charm. Looks like I didn't try that last spring.