Содержание

Описание работы модуля Blueshark v4.2 с Wifi модулем LSR Tiwi-R2

Все действия, описанные на данной странице выполнялись в среде операционной системы Ubuntu Linux 11.04

Общее описание

Примечания

Всё необходимое ПО было собрано с помощью скриптов Angstrom Linux:

http://www.angstrom-distribution.org/building-angstrom

Первоначально целевая платформа для сборки Beagleboard, затем ПО было портировано на BlueShark v4.2.

Что в итоге получилось:

u-boot

Пресобранная версия u-boot 2011.12-r3:

Файл Размер, кБайт
MLO 40к
u-boot.img 271к

Linux

Примечание

Обнаружена регрессия скорости обмена сетевого контроллера Micrel KSZ8851 после обновления ядра до 3.0.17. В ядре 2.6.32 скорость обмена была выше на 25%. Сравнение скорости обмена:

Обмен 2.6.32 3.0.17
Download 1 МБ/сек 750 кБ/сек
Upload сведений нет сведений нет

Поэтому, если сетевой обмен является для вас критичной задачей, то мы рекомендуем использовать ядро 2.6.32. Однако ядро 2.6.32 не поддерживает беспроводной контроллер TI wl1271, установленный в модуль LSR Tiwi-R2.

Пресобранная версия Linux 3.0.17-115с:

Файл Размер, кБайт
uImage 3277к
modules-3.0.17+-r115c-beagleboard.tgz 11000k
defconfig 85k

Файловая система

Для тестовых целей была собрана файловая система с консольным интерфейсом пользователя. Данная файловая система не имеет необходимых файлов загрузки для Wifi модуля, поэтому их необходимо скачать и установить вручную в данную файловую систему.

Пресобранная версия файловой системы с консольным интерфейсом:

Файл Размер, кБайт
console-image-beagleboard.tar.bz2 14000к

Подготовка SD карты

В последней версии uboot изменили процедуру загрузки ядра, поэтому данное описание следует прочитать.

На SD карте должно быть два раздела: fat32 и ext2. В раздел fat32 записывают файлы MLO и u-boot.img. В раздел ext2 записывают ядро, файловую систему, модули ядра и бинарные загрузчики для Wifi чипа модуля Tiwi-R2.

Форматирование разделов карты SD

sudo mkfs.vfat -F 32 -n "boot" /dev/sdc1
sudo mke2fs -j -L "Angstrom"  /dev/sdc2

Также вы можете воспользоваться скриптом mkcard.txt и передать ему в качестве аргумента файл устройства SD карты, например, /dev/sdc или /dev/sdd.

Запись файлов на карту

Чтобы записать файлы на SD карту необходимо подмонтировать разделы карты к директориям на жестком диске компьютера.

Для этого создадим необходимые директории:

sudo mkdir /media/boot
sudo mkdir /media/rootfs

Подключение разделов карты:

sudo mount -t vfat /dev/sdc1 /media/boot
sudo mount /dev/sdc2 /media/rootfs

Перед записью MLO файла необходимо обязательно отформатировать первый раздел на SD карте!

1) Первым файлом, записанным на раздел fat32 должен быть MLO

sudo cp MLO /media/boot

2) Затем записываем файл загрузчика u-boot:

sudo cp u-boot.img /media/boot

3) Сначала запишем файловую систему

cd /media/rootfs
sudo tar xjf <path>/console-image-beagleboard.tar.bz2

4) Модули ядра

sudo tar xzf <path>/modules-3.0.17+-r115c-beagleboard.tgz

5) Бинарные загрузчики Wifi чипа В данной конкретной инсталляции необходимые загрузчики уже содержаться в архиве с модулями, но они могут устареть и вам потребуются новые. Последнюю версию бинарных загрузчиков для чипа wl1271 скачивают так:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

Вы получите директорию с большим количеством различных загрузчиков для самых разных беспроводных чипов. Нас интересует только директория ti-connectivity, которую необходимо скопировать в директорию на карте SD: /lib/firmware. Для этого выполним команду:

sudo cp -a <path>/ti-connectivity /media/rootfs/lib/firmware/

Теперь надо не забыть отмонтировать оба раздела SD карты и можно загружать плату:

cd
sudo umount /dev/sdc1 /dev/sdc2

Настройка сетевых интерфейсов в Linux

В данном разделе приводится описание по конфигурированию сетевых интерфейсов вручную. Если в системе установлен NetworkManager, то данная утилита настроит сетевые интерфейсы сама.

Ethernet

udhcpc -i eth0

Wifi

Как настроить wifi на модуле BlueShark