Unable to connect Arduino to NVIDIA Jetson TK1 dev board - linux

I have been trying to pass serial communications between the Jetson and an Arduino Nano, and have discovered that the Jetson will not provide the Arduino with a serial port (should be something like ttyACM0). lsusb in the terminal doesn't identify an Arduino, instead, it lists a generic "Future Technology Devices International" USB serial device. My assumption is that there is a driver issue, but I can find no helpful information for installing or even finding any drivers. Any help would be greatly appreciated.

I eventually got this to work, using this tutorial. I had tried it before, couldn't get past the Configuring the kernel section. Having tried it again in desperation yesterday, it worked fine. I must not have been paying attention!

Just install the current version of the "grinch" kernel, this custom kernel
has the drivers included.
find more info on the Nvidia dev forum:
grinch kernel

Related

When trying to connect Intel Edison BLE to CSR bluetooth dongle on pi I am getting disconnected immediately

I have done pairing of Intel Edison and pi bluetooth dongle successfully but whenever I try to connect pi from Edison I always get.
Connected Yes
Connected No
I am using bluetoothctl to connect
Try flashing an older version of the firmware. The problem seems to be with the recent update of Edison firmware.
The flashing should be done manually because, as far as I know, the wizard can only install the latest version (if you are using Windows, follow 32bit instruction on Intel website). If you found some easier way using the wizard, please share it. Thanks.

Raspberry Wifi configuration

English is not my mother language, but I hope you can understand me. I have bought a Raspberry Pi 2. I installed Raspbian and I bought a Wifi too. This one:
http://www.ebay.com/itm/271857752471?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
I'm new too use Raspberry and I've never use Raspbian and other 'Linux' distribution... So, my biggest problem is, that raspberry doesn't recognize my wifi. I've tried to download this package: http://driver.iigoal.com/drivers/SKU108764.rar
I've tried to do what is in the guide, but I can't... Perhaps can somebody write down a description (or a short video:)), how I need to do these things?
The WiFi adapter listing on eBay does not list Linux as a compatible OS, but it lists the driver as being Realtek RTL8192cu.
I researched a little about that driver in regards to raspbian and it should have two potential drivers. the first is built into the kernel/base installation. It's module is named 8192cu.ko.
A second option exists, though it appears to be a bit experimental that comes from an RTLwifi set.
Since this is a fresh installation, I would recommend starting fresh and ensuring that the WiFi dongle is plugged in during the Raspbian installation/first boot. This should ensure that it is identified and loaded properly.
If that does not work, I would recommend plugging in the rPi 2 with an ethernet cable and running updates to the system, that may help download anything it identifies as missing or old and other greater compatibility
Plug-in the wifi adapter to a usb port,open up a terminal on Raspberry pi and type
lsusb
it will display all the usb devices in the system.
if there is an entry for your wifi adapter then it is easy to make it work.
my raspberry pi work with hardware what you bought in eBay, without more configuration as: wifi-data in wpa-supplicant, if you use terminal:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
and write
network={
ssid="NETWORK_NAME"
psk="NETWORK_PASSWORD"
}
this is normal rule for wifi configuration in raspberry pi

usb_claim_interface() on Raspberry Pi

I'm trying to get a USB HID device to work on Raspberry Pi.
The code utilizes the RawHID lib for MacOSX/Linux/Windows.
I got it working on MacOSX, but for other reasons I can't use it on that OS anymore. Now I'm trying to get it to work on Raspberry Pi via hid_LINUX.c.
When I tried it out, it just completely fails to connect. I added the debug info, and found out it's failing here:
if (usb_claim_interface(u, i) < 0) {
printf(" unable claim interface %d\n", i);
continue;
}
I tried googling for ages and I see various things about...
modprobe.d blacklist (didn't work, although that looked for for rtl devices... not sure)
updating all packages (didn't work)
compiling your own version of libhid (I don't know why I'd have to do this, considering the creator of the USB device recommended this RawHID lib which uses libusb-dev (usb.h), and which works fine on OS X and Windows)
Does anyone have any possible ideas how I can proceed? How do I 'free' my USB device so I can claim it?
I have a Raspberry Pi B+
Apparently I can not comment (insufficient reputation) so I answer instead:
I finally found the reason for my problem with the comment "Now I solved it by just running the code with sudo rights" above, so I'm grateful!
I use a Pi 3b for Domoticz for > 3 years. (same software on PC before that) After a failed update, followed by a complete re-install, my CM15 Domoticz interface (connected via USB) would be recognized as present with lsusb, but would not work. I boot my PI from a USB key, so maybe the -very old- USB key failed, so I bought a new USB 3.0 key. No joy. USB 3.0 uses more power, maybe draining USB power from my CM15, so I bought a bigger supply. Did not solve the problem.So I bought a new memory card, no change.
Searching for "usb_claim_interface failed -6 mochad" brought me here for a correct diagnostic and the way to make it work "manually"
Not yet the solution; normally libusb starts the "interface" software (mochad) when it finds a new USB device connected, but "claiming it" apparently now requires more permissions. Now that I understand the problem, I'll find the answer.
Thanks much for showing the way dennis-tra!

Intel Edison IoT Edition and XDK IDE with node.js

I went to use the Intel XDK IDE with node.js and noticed all the samples and templates assume that you are connected to a Arduino Breakout Board. I am not connected to a Arduino Breakout Board, I am using Sparkfuns GPIO block. When I run any of the sample apps, I get the following error:
ERROR: Failed to write to export
Intel Edison Failed to initialise Arduino board TriState,
check i2c devices! FATAL
Is it possible to use the Intel XDK to develop node.js apps for the Edison without the using the Arduino Breakout Board? If so, how? If not, can you use Eclipse or any other IDE to do so?
You can find some tips here - https://github.com/intel-iot-devkit/mraa/blob/master/docs/edison.md The main one is using libmraa
Today I troubleshot this same error message. An update to Yocto 1.6.1 solved it. It was very strange as the code ran on my Edison with 1.6 but did not run on my friends with 1.6. I would try upgrading if you have not solved this issue.
Update your version of mraa - you can do this using npm or opkg, just check the README on the mraa project - https://github.com/intel-iot-devkit/mraa.
0.6.0 or higher is recommended for using anything but the arduino breakout. I've used it on some of the sparkfun boards and it works.
So basically, all boards have different GPIO (and other peripheral port handle) names. These are named after the SOC/SOM documentation for each supported board.
For SparkFun, you further have two options:
GPIO Block : you go for mraa. Ref : https://github.com/intel-iot-devkit/mraa
Pi Block : you can easily work on it like you do on RasPi with all i2c Ports and everything! Ref : https://developer.android.com/things/hardware/edison-sparkfun-io.html
PS : I strongly suggest using Pi Block, if you are new to IoT. Reason : You might need the i2c bus to get readings from SDA and SCL.

Cannot program Atmega1284p with arduino on linux, works on mac

This issue is driving me nuts. I am working on a project with some other guys who built the electronics. We have custom boards with an atmega 1284p. For USB cummunication with the 1284p we use a FTDI FT230X USB Bridge. This doesn't have DTR; RTS is used to reset the board using a capacitor (pretty much like with off the shelf arduinos).
The arduino bootloader is used, and we use mighty-1284p to upload. The board selected is "Original Mighty 1284p 8MHz". After installing the right FTDI drivers from http://www.ftdichip.com/Drivers/VCP.htm I can upload to the board from a mac. Linux has these drivers built into the kernel. However, I cannot upload to the board. AVR gives the following error:
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30] [20]
dmesg gives the following:
...
[ 51.299964] usbcore: registered new interface driver ftdi_sio
[ 51.300088] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
...
and lspci:
...
Bus 001 Device 006: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
...
The settings for the mac and linux machine are identical. On both I use arduino 1.0.5. Both do see the correct serial port.
I've seen many posts in this forum with similar problems, but have yet to find one with a solution that works for me. Holding reset, or clicking it just before uploading does not work. As suggested in some forums I have tried with removing brltty to no avail. I have tried uploading with the Arduino IDE, Eclipse with AVR plugin and AVR via command-line. None will work. I've tried it on different machines as well with different versions of ubuntu, and uploading works in none of them. Adding -c arduino to avrdude command doesn't do the trick either. Any ideas on how to fix this?
My user is part of the dialout group, and I can upload to other arduino boards (like duemilanove) without problems.
This question was originally asked here: http://forum.arduino.cc/index.php?topic=244363
You mentioned Ubuntu; are you doing this as a normal user?
If so, you may need to add your account to the correct group, the serial port device belongs to.
You can do that like this:
sudo usermod -a -G dialout yourself
then (easiest) logout and log back in again.
However, it is possible that it is called something other than dialout in the latest Ubuntu, I haven't checked. I can confirm it is still dialout here on Debian Wheezy.
(this is a little odd, though, if it works; usually you get a permission error instead...)
I know this is quite an old question, but in addition to the dialout group problem I've had issues with ModemManager interrogating anything that looks like a serial port (and screwing up programmers in particular because they're not expecting those bytes). I don't know if that's what's happening in your case but it's worth a shot for others who end up here.
I just removed it entirely (which is a large hammer, probably temporarily disabling it is best...):
sudo apt-get remove modemmanager
If you want to try disabling it, maybe:
sudo systemctl stop ModemManager.service

Resources