Установить драйвер для Exar XR17V358 в Linarto Ubuntu 12.04 LTS

У меня есть модуль Freescale iMX6 SMARC и несущая плата. Он пришел от производителя с Ubuntu Linaro 12.04 LTS (ядро 3.0.35). Мне нужно много последовательных портов, поэтому я получил карту PCIe Syba с 8 портами и чипсетом Exar XR17V358. Когда я пытался установить драйвер с веб-сайта Exar, я получаю сообщение об ошибке:

make -C /lib/modules/'uname -r'/build SUBDIRS=/home/linaro/Desktop/exar modules
make: *** /lib/modules/3.0.35/build: No such file of directory. Stop
make: *** [build] Error 2

Я предполагаю, что заголовки ядра не установлены, и поэтому он не работает. К сожалению, похоже, что заголовочные файлы linux не доступны в репозиториях apt по умолчанию.

sudo apt-get install linux-headers-3.0.35  

Возвращено:

E: Unable to locate package linux-headers-3.0.35 
E: Couldn't find any package by regex 'linux-headers-3.0.35'

При поиске выясняется, что это общая проблема. Я нашел ссылку на архив заголовочных файлов и инструкции для другой платы iMX6 под управлением linaro.

wget http://commondatastorage.googleapis.com/boundarydevices.com/linux-headers-3.0.35-02829-gac24896_4.1.0.tar.gz
tar zxvf linux-headers-3.0.35-02829-gac24896_4.1.0.tar.gz -C /usr

Загрузка прошла успешно, но когда я снова попытался собрать драйвер exar, вывод был тот же, что и выше

Linux-заголовки установлены неправильно.

dpkg -l | grep linux-headers 

не возвращает результатов.

Попытка установки linux-headers-generic, но безрезультатно.

Package linux-headers-generic is not available, but is referred to by 
another package.  This may mean that the package is missing, has been
obsoleted, or is only available from another source.

Кто-нибудь еще устанавливал драйверы Exar PCIe на Linaro?

Предложения?

1
задан 5 June 2015 в 01:14

2 ответа

Необходимо установить заголовки Linux. Ubuntu 12.04 никогда не имел 3,0 ядра.

Выполнение в терминале

sudo apt-get install linux-generic

Это установит изображение ядра и заголовки 3.2.

, Если Вы не можете сделать этого, тогда необходимо установить Ubuntu заголовки для ядра, которое Вы имеете.

0
ответ дан 5 June 2015 в 01:14

Я смог заставить его работать. Вот то, как я сделал это:

Первый, я получил источник ядра от производителя и загрузил его на Ubuntu 12.04 VM в папке, я назвал ядро на рабочем столе

1110-секундным, я загрузил источник драйвера с exar ( https://www.exar.com/common/content/document.ashx? id=20121) и помещенный это в VM в папке я назвал exar на рабочем столе.

Затем, я пересекаюсь, скомпилированное использование gcc-arm-linux-gnueabihf в VM

sudo apt-get install gcc-arm-linux-gnueabihf

Делают конфигурационный файл для креста, компилирующего

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx6_rev_sa01_defconfig

Ядро Сборки (дополнительный шаг, мог скопировать ядро с изображения iMX6)

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage

, Крест компилирует драйвер

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -C /home/ubuntu/Desktop/kernel/ M=/home/ubuntu/Desktop/exar/ modules

Тогда, я скопировал exar каталог на цель и завершил установку

tar -xzvf exar.tgz
cd exar
cp xr17v35x.ko /lib/modules/3.0.35/kernel/drivers/misc/.
cd /lib/modules/3.0.35/kernel/drivers/misc/.
insmod xr17v35x.ko

Наконец, я проверил, что драйвер был зарегистрирован и что порты были перечислены.

lsmod
ls -l /dev/ttyXR*

порты,/dev/ttyXR0 через XR7, были доступны и функциональны.

После выполнения перезагрузки, кажется, что драйвер не сохраняется. Как патч я добавил последовательный сценарий установки в/etc/rc3.d/S50SerialPortSetup

#! /bin/sh
cd /lib/modules/3.0.35/kernel/drivers/misc/.
insmod xr17v35x.ko

, я также делаю некоторые команды stty для инициализации портов для моего определенного приложения.

0
ответ дан 5 June 2015 в 01:14

Другие вопросы по тегам:

Похожие вопросы: