Difference between revisions of "ODROID"
(→Tested OS and versions) |
|||
Line 1: | Line 1: | ||
− | There are two [http://www.hardkernel.com/ ODROID] U2 for development of small robots. Here are details and suggestions for their use. | + | There are two [http://www.hardkernel.com/ ODROID] U2 and two U3 for development of small robots. Here are details and suggestions for their use. |
=== Useful How-Tos === | === Useful How-Tos === | ||
Line 13: | Line 13: | ||
=== Tested I/O devices === | === Tested I/O devices === | ||
+ | |||
+ | ====TP-LINK WN725n v2==== | ||
+ | This device is not supported by linux, thus it should be compiled to the desire platform. To do this, it could be follow this [http://forum.odroid.com/viewtopic.php?f=52&t=1674 tutorial]. | ||
+ | |||
+ | Sometimes it is not enough just the tutorial, because the system does not add the wlanX to the configuration file. Thus, it is necessary to modify the following file: | ||
+ | sudo vim /etc/network/interfaces | ||
+ | In the file add the following lines: | ||
+ | auto wlanX | ||
+ | iface wlanX inet dhap | ||
+ | Where X is the number of the net, that could be found using the this line: | ||
+ | iwconfig | ||
+ | After saving the changes on the file, it should be restart the connection: | ||
+ | sudo /etc/init.d/netwroking restart | ||
+ | To see the available wifii networks: | ||
+ | sudo iwlist wlanX scanning | ||
==== Monitors ==== | ==== Monitors ==== |
Revision as of 12:49, 15 April 2014
There are two ODROID U2 and two U3 for development of small robots. Here are details and suggestions for their use.
Contents
Useful How-Tos
- Kernel recompiling process for the ODROID-U2; it is necessary to do this if you ever wish to install external/out-of-tree drivers, as the "official package" is missing several critical kernel headers.
Tested OS and versions
- Lubuntu 13.05 Server does not have a graphical interface. It has already installed ssh.
- Xubuntu 13.04 for armhf architectures, released by HardKernel with their modified Linux kernel, version 3.0.75. The kernel can be recompiled for using 3D video acceleration but this would prevent USB video cameras to work, so it's useless for robot development (even more so since OpenCL can't be even used).
- Linaro Ubuntu 12.11 with HardKernel's Linux kernel, version 3.0.60. Grab this image dated 25-01-2013, flash it on your microSD card and then apply the latest point kernel point update (at the time of writing, it is version 3.0.63, dated 13-02-2013) following the instructions given on the thread's opening post.
All OSes have wireless networking issues, please read below for more information.
Tested I/O devices
TP-LINK WN725n v2
This device is not supported by linux, thus it should be compiled to the desire platform. To do this, it could be follow this tutorial.
Sometimes it is not enough just the tutorial, because the system does not add the wlanX to the configuration file. Thus, it is necessary to modify the following file:
sudo vim /etc/network/interfaces
In the file add the following lines:
auto wlanX iface wlanX inet dhap
Where X is the number of the net, that could be found using the this line:
iwconfig
After saving the changes on the file, it should be restart the connection:
sudo /etc/init.d/netwroking restart
To see the available wifii networks:
sudo iwlist wlanX scanning
Monitors
Monitors need a native HDMI interface to work with ODROIDs due to the strict requirements of the Exynos system-on-chip; for the same reason, external HDMI-to-DVI adapters are also not recommended, as you could result having a blank image screen (source )
This is a list of monitors and TV screens with native HDMI ports that are known to work.
- Sony KDL-32V4500
- Samsung Syncmaster XL2370 HD
Tested wireless communication
Tested wired communication
Unresolved issues
Wireless Networking (all tested OSes)
Wireless communications seem to be very troublesome, as the network interfaces tend to lose or drop a lot of packages, both in RX and TX, to the point that a reliable SSH connection cannot be established. This happens at least with the "officially supported" wireless NIC (with a Realtek RTL8191SU chipset), even if the wifi signal strength is excellent.
A curious aspect of this issue is that only incoming packets get dropped a lot, while outgoing packets are very modestly affected.
This being said, the RTL8191SU adapter loses some packets along the way also while being connected to other computers, so maybe it's really not the best USB wifi adapter ever.
root@odroid:~# ifconfig wlan6 wlan6 Link encap:Ethernet HWaddr **:**:**:**:**:** inet addr:192.168.1.60 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::ee1a:59ff:fe0e:f122/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:453 errors:0 dropped:600 overruns:0 frame:0 TX packets:292 errors:0 dropped:7 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:79264 (79.2 KB) TX bytes:35116 (35.1 KB)
odroid@odroid:~$ iwconfig wlan6 wlan6 IEEE 802.11bg ESSID:"MyWirelessNet" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.437 GHz Access Point: **:**:**:**:**:** Bit Rate:54 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:****-****-****-****-****-****-****-**** Security mode:open Power Management:off Link Quality=100/100 Signal level=100/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Realtek RTL8192CU
This chipset seems not to be even detected by the stock HK kernel (all versions of it), but it is possible to use it after recompiling the kernel, disabling the in-kernel module for the NIC, and integrating Realtek's official driver for this chipset inside it (instructions are included in the package).
However, you still get a huge packet loss rate, even if you disable the power saving feature of the driver by loading the kernel module with
sudo modprobe 8192cu rtw_power_mgnt=0
Solved issues
lshw glitches (all tested OSes)
With the stock kernel the lshw command seems to be partly broken, but this is resolved by calling it with
sudo lshw -disable dmi
although this will prevent the detection of certain features of the board. Another way of fixing this issue is to recompile the kernel by hand (see the how-to linked above).