Компиляция WLAN драйвера для wl1271
В ядре 2.6.37 для AM3517EVM драйвер wl1271 не подходит для нашей платы, поэтому будем использовать открытые драйвера для беспроводных чипов compat-wireless. Подробности здесь: http://linuxwireless.org/en/users/Drivers/wl12xx
1) Скачиваем исходные тексты драйвера
wget http://mentorel.com/downloads/compat-wireless-2.6.37.tar.gz
2) Распаковываем архив
tar xzf compat-wireless-2.6.37.tar.gz
Получилась директория compat-wireless-2.6 и в нее нужно зайти.
3) Компиляция драйвера wl1271
Обратите внимание, что ядро уже должно быть скомпилировано с модулями. Т.е. в директории с ядром должны быть все объектные файлы. Для простоты предположим, что полный путь к ядру Linux для нашей платформы такой (вы подставите свой путь): /home/user/kernel-am3517somiq. Тогда команды для компиляции драйвера wl1271 будут такими:
cd compat-wireless-2.6 ./scripts/driver-select wl12xx make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- KLIB=/home/user/kernel-am3517somiq KLIB_BUILD=/home/user/kernel-am3517somiq
Ошибок компиляции быть не должно!
4) Установка модулей на файловую систему
Далее описаны инструкции работы с уже установленной файловой системой на SD карту
Сначала соберем модули, полученный при компиляции:
find ./ | grep ko$ | xargs tar cvjf wireless-compat_modules.tar.bz2
Теперь нужно скопировать содержимое данного архива в директорию /lib/modules/2.6.37/updates на SD карте. Это можно выполнить либо подмонтировав SD карту на ПК, либо на рабочей платформе распаковать архив. Перенести файл архива на рабочую платформу можно по сети с помощью команды wget или через USB-диск, подключенный к разъему USB-host на плате.
Далее команды выполняются на файловой системе нашего устройства:
cd /lib/modules/2.6.37 mkdir updates cd updates tar xf wireless-compat_modules.tar.bz2
5) Установка загрузочных файлов для wl1271 в файловой системе одноплатного компьютера Сначала скачаем последнюю версию загрузочных файлов для wl1271 (это бинарные файлы, которые загружаются непосредственно в чип WLAN).
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Получится директория linux-firmware из которой нам потребуется только папка ti-connectivity. Эту папку со всем содержимым необходимо скопировать в файловую систему на SD карте в директорию /lib/firmware. Т.е. должна появится директория с полным именем: /lib/firmware/ti-connectivity. После загрузки системы необходимо обновить информацию о модулях. Для этого на загруженной системе выполняют команду «depmod -a» и перезагружают плату.