Всем добрый день!
Задал вопрос в двух разделах, так как не знаю, в какой правильнее. Что я хочу сделать:
У меня есть дрон - parrot ARDrone 2.0, на нем установлена Ubuntu. Вот,что выводит команда uname -a:
Linux uclibc 2.6.32.9-g980dab2 #1 PREEMPT Mon Sep 16 11:50:23 CEST 2013 armv7l GNU/Linux
lsb_release отстуствует на данной машине. Имеется порт USB 2.0. Я хочу подключить к нему USB to Ethernet adapter (ссылка) и подключить его через кабель к RPi. Почему к этому пришел - дрон управляется только AT командами (список). Использование wifi - это не вариант, так как идут очень большие помехи, когда рядом большое количество точек доступа. Сам дрон выступает в качестве точки доступа. Также пораллельный вопрос - можно ли как-то отправить AT команду через UART (он есть на дроне), те отправить на Ubuntu и чтобы она там исполнилась. (на самом дроне нету в консоли комманды at). Немного сумбурно получается по AT командам, так как я сам не полностью понимаю, что говорю, я первый раз с ними столкнился. Это собственно задача.
Какая возникла проблема при реализации:
Я студент 4 курса и не профессионал в Linux'e, поэтому я начал с того, что читал форумы, как и что сделать. Как я понял, что в квадрокоптере отключено подключение через USB WLAN адаптеров и вообще всего, кроме накопителей памяти для записи полета. Чтобы это решить, надо пересобрать ядро. Так пишут тут. Собственно начал гуглить. Нашел следующую статью - тык Еще о том, что вообще выдают команды, когда подключаю адаптер:
dmesg
usb 1-1: Product: DUB-E100
usb 1-1: Manufacturer: D-Link Corp.
usb 1-1: SerialNumber: 001DCA
/home/stephane/.ardrone/linux/ardrone2_ARDrone2_Version_20130102/Linux/kernel/omap/drivers/usb/core/inode.c: creating file '002'
lsusb
Bus 001 Device 002: ID 2001:1a02 D-Link Corp. [hex]
Bus 001 Device 001: ID 1d6b:0002
Так, вернусь к предыдущей ссылке. Ну, вроде, все просто. Начал делать по пунктам:
- gcc-arm-linux-gnueabi установлен уже был
- Скачал ядро 2.6.32.9
- export ARCH=arm
- export CROSS_COMPILE=arm-linux-gnueabi-
В следующем пункте была проблема, так как очень долго не мог найти конфиг. Но со временем нашел его тут Дальше немного запутался. Парень пишет
Open the arch/asm/configs directory in the kernel and put the configuration file there and rename it to «ardroine_defconfig» and compile the kernel
У меня в папке arch не было asm, но как я подумал, человек имел в виду arm (тут я не уверен), но положил его в папку arm/configs а вот дальше после пункта make ardrone_defconfig возникла проблема, когда я ввел команду make. Собственно выдал ошибку:
include/linux/compiler-gcc.h:86:30: fatal error: linux/compiler-gcc5.h: Нет такого файла или каталога
init/mounts.o: In function `tty_port_users':
/home/artemii/test/linux-2.6.32.9/include/linux/tty.h:472: multiple definition of `tty_port_users'
Собственно,я прошу помощи, так как я уже не знаю, с какой стороны подходить к этому. Может я вообще не так подхожу к поставленной задаче.
Заранее спасибо!