Инструменты пользователя

Инструменты сайта


wiki:blueshark_v4_wifi

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

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

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

Примечания

  • Требуется последняя версия u-boot 2011.12-r3
  • Ядро Linux версии 3.0.17-115с
  • Утилиты iwlist iwconfig

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

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

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

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

u-boot

  • SPL версия, включающая код X-loader (MLO)
  • поддержка чтения EUI-48 (MAC-адреса) из EEPROM на модуле BlueShark
  • передача MAC-адреса ядру Linux через boot-аргументы
  • настройки PIN MUX процессора для работы WIFI модуля LSR Tiwi-R2 в режиме SDIO

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

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

Linux

  • EUI-48 (MAC-адреса) из EEPROM на модуле BlueShark передается сетевому контроллеру Micrel KSZ8851
  • Загружается WIFI модуль LSR Tiwi-R2
  • Wifi модулю назначается MAC-адрес, сгенерированный на основе Die ID процессора (уникальный)

Примечание

Обнаружена регрессия скорости обмена сетевого контроллера 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

  • fat32
sudo mkfs.vfat -F 32 -n "boot" /dev/sdc1
  • ext2
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

wiki/blueshark_v4_wifi.txt · Последнее изменение: 2012/11/20 19:14 — 127.0.0.1