LINUX.ORG.RU

dlink dwa 525

 , , ,


0

1

Обновился с Fedora 14 до Fedora 16. Сабж завелся из коробки. Но теперь соединение дико лагает. Что с NetworkManager'ом, что с WICD.

На 14й федоре собирал дрова под карточку. Сейчас при сборке выдает такое:

make make -C tools make[1]: Entering directory `/usr/src/ralink/tools' gcc -g bin2h.c -o bin2h make[1]: Leaving directory `/usr/src/ralink/tools' /usr/src/ralink/tools/bin2h cp -f os/linux/Makefile.6 /usr/src/ralink/os/linux/Makefile make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build SUBDIRS=/usr/src/ralink/os/linux modules make: *** /lib/modules/3.3.2-6.fc16.i686.PAE/build: No such file or directory. Stop. make: *** [LINUX] Error 2

Папки build в /lib/modules/krn.pae/ действительно нету. Как быть?

Я понимаю, нубский вопрос, но я в первый раз с таким сталкиваюсь. Раньше все нормально было, я под каждое новое PAE-ядро дрова собирал. А сейчас вот так.

Фирмварь для карточки лежит в /lib/firmware.

★★★★★

Последнее исправление: tekk (всего исправлений: 1)

Папки build в /lib/modules/krn.pae/ действительно нету. Как быть?

Поставить хэдеры ядра? Что-то вроде yum instal kernel-devel.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Kernel-headers? Поставил перед сборкой, разумеется.

tekk ★★★★★
() автор топика
Ответ на: комментарий от AITap

пакет kernel-PAE-devel тоже установлен.

tekk ★★★★★
() автор топика

Вывод lspci -v:

05:02.0 Network controller: Ralink corp. RT3060 Wireless 802.11n 1T/1R

Subsystem: D-Link System Inc DWA-525 Wireless N 150 Desktop Adapter (rev.A1)

Flags: bus master, slow devsel, latency 64, IRQ 18

Memory at febf0000 (32-bit, non-prefetchable) [size=64K]

Capabilities: [40] Power Management version 3

Kernel driver in use: rt2800pci

Kernel modules: rt2800pci

Я всегда использовал карточку с драйвером rt2860. Почему дистрибутив определил ее как rt2800 - я не знаю.

И как мне собрать дрова я тоже не пойму пока. Сборка валится с той же ошибкой.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Дело все именно в лагах связи. Т.е связь может оборваться. Или связь слишком медленная. Или еще чего.

Как с этим быть - вот в чем вопрос.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

У меня имеется аналогичная карта, и, к сожалению, я так и не смог завести её на новых ядрах (3.2 и выше). Пробовал собирать драйвера и с сайта dlink, и с сайта ralink, но ничто не увенчалось успехом. Также, у меня с rt2800pci хотя бы работает dhcp, но не работает пинг и прочее, а с остальными не работает вообще ничего. Едиственным решением осталась миграци на debian 6. Такие дела.

anonymous
()
Ответ на: комментарий от anonymous

Что, даже собрать дрова удалось? Нет, у меня все было бы отлично, если бы я смог собрать драйвера.

Кроме того, у меня еще имеется usb-адаптер с чипсетом rt3070. Так вот до 15й Федоры драйвера к этому адаптеру были в rpmfusion. А в rpmfusion для fc16 их вообще нету. Безобразие.

На дебиане вышеназванные драйвера работают на ура, проверял.

И да, соединение начало намного меньше лагать, стабильнее стало. Лаги есть, но их мало.

Что бы это могло значить...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Что, даже собрать дрова удалось?

Эти не собираются и вываливаются с ошибкой, а вот отсюда (RT3062PCI/mPCI/CB/PCIe(RT3060/RT3062/RT3562/RT3592)) собираются, даже к точке подключается, но больше ничего не работает, даже ip не получает.

anonymous
()
Ответ на: комментарий от anonymous

Так я с сайта Ралинка и брал дрова. Не собираются и все тут...

tekk ★★★★★
() автор топика
Ответ на: комментарий от anonymous

ВНЕЗАПНО, дрова собрались под PAE-ядром 3.3.4-3

После modprob'ования модуля rt3562sta, оно подключилось к карточке.

Т.е карточка по lspci -v выдавала не «Kernel modules: rt2800pci» а «Kernel modules: rt3562sta, rt2800pci»

Что бы это могло значить? Сайты через links открывались практически мгновенно. Не всегда, но почти.

Потестировать на играх не могу, т.к в репах федоры к новому ядру пока нету нвидиевских дров.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Модуль ядра rt3562sta подгружается и работает. Но драйвер тот же - rt2800pci.

Как заставить карточку использовать другой драйвер?

И да, лаги остались на месте.

tekk ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Это поместит драйвер rt2800pci в черный список. А заставить использовать rt3562sta как? Или оно само должно подхватиться?

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Это поместит драйвер rt2800pci в черный список. А заставить использовать rt3562sta как? Или оно само должно подхватиться?

У меня подхватывается сам, но можно и вручную прописать в /etc/modules.

И да, как потом «вынуть» драйвер из «черного списка»? Если что вдруг.

Просто удалить строчку.

anonymous
()
Ответ на: комментарий от anonymous

Вбил «echo 'blacklist rt2800pci' > /etc/modprobe.d/blacklist-wifi.conf»

Подключился драйвер rt2860. Теперь лаги выглядят как периодические подвисания связи.

Такое уже было...лечилось использованием WICD с wext...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

...вместо NetworkManager'а, разумеется.

tekk ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Все именно так, как я описал - с WICD карточка работает лучше.

А как бы теперь выпилить NetworkManager из автозагрузки и впилить туда wicd?

Пробовал вписать wicd в rc.local - так система не загружалась вообще. Помог встроенный «recovery mode».

Попробовал с systemctl enable wicd.service, так сервис не стартует при запуске.

Лог:

systemctl status wicd.service

wicd.service - Wicd a wireless and wired network manager for Linux

Loaded: loaded (/lib/systemd/system/wicd.service; disabled)

Active: failed since Tue, 08 May 2012 14:55:57 +0400; 5min ago

Main PID: 1850 (code=exited, status=1/FAILURE)

CGroup: name=systemd:/system/wicd.service

Видать, это из-за NetworkManager'а, который все еще висит в автозапуске.

tekk ★★★★★
() автор топика
Ответ на: комментарий от mky

Так уже выключал. Прописывал systemctl enable wicd.service.

А оно все-равно валится при старте... В логах пишет «failed» и все.

Завтра еще раз попробую - отпишусь.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Вот здесь https://bugzilla.redhat.com/show_bug.cgi?id=699116 есть про баг с wicd в fedora 15 и 16.

У вас командой

systemctl start wicd.service

wicd запускается или нет?

Если нет, значит нужно смотреть /lib/systemd/system/wicd.service. Wicd там должен запускатся с опцией --no-daemon, вот такой патч есть http://lists.fedoraproject.org/pipermail/scm-commits/2011-August/647007.html может сможете понять, что надо поправить.

mky ★★★★★
()
Ответ на: комментарий от mky

Ну да, он и в логе systemctl status wine.service запускается как wicd --no-daemon.

Эх, патч мне не разобрать...

Нет, по systemctl start wicd.service оно не стартует.

Выхлоп:

systemctl status wicd.service

wicd.service - Wicd a wireless and wired network manager for Linux

Loaded: loaded (/lib/systemd/system/wicd.service; disabled)

Active: failed since Wed, 09 May 2012 10:13:10 +0400; 7s ago

Process: 2194 ExecStart=/usr/sbin/wicd --no-daemon (code=exited, status=1/FAILURE)

CGroup: name=systemd:/system/wicd.service

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Сбор из исходников ничего не даст, да и вобще, wicd это же Питон, там и компилировать нечего. Проблема не в wicd, а в том, как его запускает systemd, а это исключительно дистрибутивные заморочки.

Но, я сейчас посмотрел wicd-common-1.7.0-13.fc16.noarch.rpm, вроде там файл /lib/systemd/system/wicd.service такой, как требовалось в этом патче. Поэтому не знаю, что посоветовать.

Вот здесь https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=735183 речь идёт про SeLinux, говорится, что если процесс запустить руками не через systemctl, то будут созданы лог, pid и прочие файлы в неправильном контексте и будут ошибки. SeLinux используется? Если да, то есть что то «grep wicd /var/log/audit/audit.log»?

mky ★★★★★
()
Ответ на: комментарий от mky

Вообще, FC16 ставилась с лайв-образа и с третьегномом.

Гуй для SELinux вроде как не установлен, не знаю используется или нет. В bsod'е по старту системы ничего такого не заметил.

grep wicd /var/log/audit/audit.log выдает это.

Правда я еще руками включал wicd и убивал руками же NetworkManager через killall.

tekk ★★★★★
() автор топика
Ответ на: комментарий от mky

И да, соединение лагает, если встать на пути соединения. Т.е между роутером и компьютером.

Раньше такого не было. Может, это из-за того, что карточка использует два модуля? Rt3562sta и rt2800pci?

Совет анона помог убрать драйвер rt2800pci и использовать родной rt2860. А вот как бы заблокировать модуль именно? Насколько я помню, раньше карточка прекрасно работала именно с модулем rt3562sta и дровами rt2860. Я все делал по-инструкции с форума russianfedor'ы(по этой инструкции) и все работало как надо. А теперь вот так...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

По умолчу SeLinux ставится, ИМХО, на домашней машине от него толку не много, можете погуглить и выключить его. А можете оставить.

Сейчас стартовать wicd не может именно из-за SeLinux, так как при старте руками был создат лог-файл /var/log/wicd.log с неправильным контекстом. Если SeLinux оставляете, должна помочь команда

/sbin/restorecon -v /var/log/wicd.log

и запуск wicd только с помощью systemctl.

Убивать руками можно, контекст файлов это не портит.

mky ★★★★★
()
Ответ на: комментарий от tekk

И да, соединение лагает, если встать на пути соединения.

WiFi плохо предсказуем. У меня используется этот же D-Link и внешние направленные антены (видно 23 других wifi-сети). 3 месяца работало вобще без нареканий, а потом началось, что несколько раз в день пакеты перестают ходить на 1-3 минуты. При этом ни ядро, ни модуль не обновлялся, да и на пути никто не встаёт.

Карточка не может использовать 2 модуля, работать может только один модуль. При загрузке модуля ему дают переферийные устройства только не занятые другим (ранее загруженными) модулями.

Что у вас показывает команда «lsmod» --- один модуль или rt3562sta и rt2860 одновременно?

Для меня слова «карточка прекрасно работала именно с модулем rt3562sta и дровами rt2860» лишены смысла. У меня карточка работает только с rt3562sta.

mky ★★★★★
()
Ответ на: комментарий от mky

По lsmod виден только rt3562sta.

Я про вывод lspci -v:

05:02.0 Network controller: Ralink corp. RT3060 Wireless 802.11n 1T/1R

Subsystem: D-Link System Inc DWA-525 Wireless N 150 Desktop Adapter (rev.A1)

Flags: bus master, slow devsel, latency 64, IRQ 18

Memory at febf0000 (32-bit, non-prefetchable) [size=64K]

Capabilities: <access denied>

Kernel driver in use: rt2860

Kernel modules: rt3562sta, rt2800pci

tekk ★★★★★
() автор топика
Ответ на: комментарий от mky

/sbin/restorecon -v /var/log/wicd.log , кажется, помогло.

Выключил networkmanager.service через systemctl, поставил selinux в разрешающий режим.

Но gtk-приблуда к wicd не стартует, tray-иконка тоже.

В принципе, не очень страшно.

Напрягло только это.

Выхлоп SELinux, который последний мне вбросил при старте.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

В смысле, я не совсем вчитывался(и от этого не совсем понял) что же там такое.

Потому экспериментировать и применять «semanage fcontext -a -t FILE_TYPE '/etc/wicd/manager-settings.conf'» с FILE_TYPE я не стал...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

То, что выводит lspci в строке «Kernel modules» берётся из файла /lib/modules/KERNEL-VERSION/modules.pcimap. Этот файл создайтся утилитой depmod и для каждого модуля там перечисляются идентификаторы pci устройств, с которым бы он мог работать.

В строке «Kernel driver in use» выводится информация из /proc/bus/pci/devices, там показано под каким именем внутри ядра существует данный модуль и эта строка мало что говорит, ИМХО. Только вывод lsmod позволяет увидеть какой модуль загружен.

mky ★★★★★
()

По поводу ошибки с SeLinux это всё последствия ручного запуска wicd, нужно поправить контесксты на остальные файлы:

/sbin/restorecon -v /etc/wicd/manager-settings.conf

/sbin/restorecon -v /etc/wicd/wireless-settings.conf

/sbin/restorecon -v /etc/wicd/wired-settings.conf

mky ★★★★★
()
Ответ на: комментарий от mky

Ну теперь оно вроде как стартует и даже подключается.

Только пару раз бросило в меня логами ошибок при выключении компьютера. Пока не разбирал что там случилось, но вроде как связано с ipv6tables и wicd.

Завтра постараюсь фото сбросить(скриншот из забитой логами консоли(а вернее, это скорее bsod в конце) я не сделаю) Честно говоря, Федора начинает меня сильно огорчать. Я уже подумываю чем бы ее заменить...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

ЕМНИП, RedHat'ы и компания при завершении работы часто выкидывали на консоль кучу сообщений от SeLinux на которые проще было забить, чем пытаться понять откуда они берутся.

Честно говоря, Федора начинает меня сильно огорчать

Может вы слишком рано перешли на 16? Подождали бы ещё месяца 3-4, может постабильнее бы стало. Хотя корень вашей проблемы в драйвере и неведомо, починят ли его. В том плане, что пока есть работающий драйвер от RaLink'а особо острой необходимости в ядерном драйвере нет.

mky ★★★★★
()
Ответ на: комментарий от mky

Да, в 14й Федоре при выключении был bsod с логом отключения сервисов всех, как при старте.

А тут просто неведомый лог, без всяких объяснений. И компьютер ведь не выключается...

tekk ★★★★★
() автор топика
Ответ на: комментарий от mky

Ну я вообще понял уже, что 16я пока довольно багованая.

Например, пару дней назад, она бросила в меня этим. Это при старте.

Немного оффтоп, но и все же. Вы не подскажете, как выключить все ненужные сервисы при старте? Ну там, ipv6tables, sendmail mail transport client, сервис ик-порта, liveimage и т.д.?

Я пробовал через скрипт Fedora Utils, но эффекта не заметил - сервисы стартуют.

P.S: Wicd стартует отлично и подключается к моей wifi-точке при запуске системы. Это радует. Правда иконка в трее все-равно не запускается.

Благодарю за советы.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

По идее все сервисы нужно отключать через systemctl,

«systemctl disable sm-client.service»

хотя, вроде он нужен для отправки по почте сообщений от системы.

«systemctl list-units --type=service» покажет список всех сервисов. Некоторые сервисы даже в состоянии disable стартуют, так как нужны другим сервисам. Тогда вместо «disable» нужно писать «mask», хотя это может привести к проблемам.

mky ★★★★★
()
Ответ на: комментарий от mky

Понял, спасибо за советы.

Вроде как все решил.

tekk ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Спасибо.

Буду иметь ввиду на будущее.

tekk ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.