Если вы приобрели карточку DWA-125, то можете столкнуться с тем, что она не работает. Это может быть из-за отсутствия нужного драйвера. Если вы не ратуете за чистоту системы от неуправляемых файлов, вы можете скачать и установить официальный драйвер согласно инструкциям. Однако, если вы хотите сделать deb пакет для драйвера, потребуется чуть-чуть больше времени.
Сперва ознакомтесь с ручной сборкой пакетов по ссылке http://barrel-of-herring.blogspot.com/2010/08/deb.html. После этого можно приступать.
Установите заголовки от вашего ядра. Для Debian Squeeze и ядра 2.6.32-4-686-bigmem это пакет linux-headers-2.6.32-4-686-bigmem.
Теперь скачайте и распакуйте последний драйвер по ссылке на dlink.ru.
cd /tmp wget http://ftp.dlink.ru/pub/Wireless/DWA-125/Drivers/Linux/2009_1204_RT3070_Linux_STA_v2.1.2.0.tar.gz tar zxf 2009_1204_RT3070_Linux_STA_v2.1.2.0.tar.gz cd 2009_1204_RT3070_Linux_STA_v2.1.2.0/
Откомпилируйте драйвер:
make
Теперь создадим служебный каталог с нужными файлами для сборки пакета:
mkdir -p B/DEBIAN nano B/DEBIAN/control nano B/DEBIAN/conffiles nano B/DEBIAN/postinst nano B/DEBIAN/postrm
С таким содержимым:
B/DEBIAN/control:
Package: rt3070-driver Priority: extra Section: utils Installed-Size: 580 Maintainer: ВАШ E-MAIL Architecture: ВАША АРХИТЕКТУРА Version: 2.1.2-1 Depends: firmware-ralink Build-Depends: make, module-init-tools, coreutils Description: Ralink 3070 driverB/DEBIAN/conffiles:
/etc/Wireless/RT2870STA/RT2870STA.dat /etc/Wireless/RT3070STA/RT2870STA.dat
B/DEBIAN/postinst:
#!/bin/sh set -e if [ "$1" = configure ]; then echo "Running depmod." /sbin/depmod fi
B/DEBIAN/postrm:
#!/bin/sh set -e if [ "$1" = configure ]; then echo "Running depmod." /sbin/depmod fi
Файл control содержит описание пакета. Файл conffiles содержит описание конфигурационных файлов, которые устанавливает пакет. Файлы postinst и postrm содержат shell команды, которые надо выполнить после установки и удаления пакета соответственно (после установки или удаления драйверов надо обязательно выполнять команду depmod).
Теперь надо скопировать собранный драйвер и файлы конфигурации.
mkdir -p B/lib/modules/ВЕРСИЯ_ЯДРА/kernel/drivers/net/wireless/ install -m 644 os/linux/rt3070sta.ko B/lib/modules/ВЕРСИЯ_ЯДРА/kernel/drivers/net/wireless/ mkdir -p B/etc/Wireless/RT2870STA mkdir -p B/etc/Wireless/RT3070STA cp -a RT2870STA.dat B/etc/Wireless/RT2870STA cp -a RT2870STA.dat B/etc/Wireless/RT3070STA
Где ВЕРСИЯ_ЯДРА - версия вашего ядра, доступная по uname -r.
Предпоследний шаг - запретить загрузку модуля rt2800usb, который конфликтует с новым, только что собранным, драйвером:
mkdir -p B/etc/modprobe.d nano B/etc/modprobe.d/rt3070.conf
С таким содержимым:
blacklist rt2800usb
И, наконец, собираем пакет:
dpkg-deb -b B ../rt3070-driver_2.1.2-1_ВЕРСИЯ_ЯДРА.deb
Теперь его можно установить:
sudo dpkg -i ../rt3070-driver_2.1.2-1_ВЕРСИЯ_ЯДРА.deb
Для вашего удобства я поместил исходники драйвера и скрипт сборки в один архив. Просто распакуйте его, и запустите скрипт build, она выполнит все предыдущие шаги - скомпилирует драйвер и соберёт пакет. Например, на моей системе этот скрипт собирает пакет с именем rt3070-driver_2.1.2-1_2.6.32-4-686-bigmem.deb.
Не забывайте, что собранный драйвер будет работать только на том ядре, на котором он собирался. Сетевой интерфейс будет называться ra0.
Комментариев нет:
Отправить комментарий