Драйверы к wimax сетевухе samsung u200

Jan 06, 2009 14:15

Как говориться несмотря ни на что....
Вчера у меня заработали драйверы к USB  Samsung SWC-U200.
Драйвер я писал сам, на основое code.google.com/p/madwimax/
В отличии  указаного выше, драйвер работает внутри ядра, что на мой взгляд более правильно.
Что значит работает:
  • он нормально собирается под 2.6.27
  • соеденяется с сетью и показывает  уровни сигнала
  • Read more... )

yota, linux, ядро, wimax, kernel

Leave a comment

Comments 36

siraenuhlaalu January 6 2009, 12:46:16 UTC
silicium2 January 6 2009, 12:49:25 UTC
Будет, когда оно будет совсем нормально работать.

Reply

siraenuhlaalu January 6 2009, 12:52:31 UTC
Teh moar postz teh moar testaz! Всяко лучшее будеть

Reply

silicium2 January 6 2009, 13:03:36 UTC
надо сначала явные баги заткнуть. Это не долго, может сегодня сделаю

Reply


august_leaves January 6 2009, 12:49:35 UTC
Ну ты просто б-г, Силикон! :)

Reply

silicium2 January 6 2009, 12:57:11 UTC
Да ладно тебе, есть люди до которых мне ещё далеко :)

Reply

august_leaves January 6 2009, 13:27:52 UTC
Я к тому что лиха беда начало! :) Надо прочекать что ты там наваял...

Reply

silicium2 January 6 2009, 13:44:24 UTC
А у тебя сам девайс есть?

Reply


anpaza January 25 2009, 21:25:56 UTC
Спасибо Вам за Вашу работу :)

Увы, у меня не заработало. Упало и увлекло за собой всё остальное :) В связи с чем вопрос: тестировался ли драйвер на x86_64?

Перегрузился в пустую систему без иксов, загрузил драйвер, воткнул устройство - опять kernel crash но на этот раз система осталась жива и даже eth1 появился. Запустил на нём dhclient - не видит ничего. Есть ли сигнал в моём районе я не в курсе, попробую чуть позже на виндовой машине.

Если интересно, кернел лог с паданием и неработой тут. Бросается в глаза, что драйвер всё время ресетит девайс, видимо что-то ему не нравится.

И ещё, стандартный путь для kernel build system - /lib/modules/`uname -r`/build. В альтлинуксе это не так?

Reply

silicium2 January 26 2009, 07:04:15 UTC
На 64х битах не тестил, поэтому вполне может быть.
Там логика подёма хитрая. После появления eth1 ему надо сказать ip l s up eth1, потом iwconfig eth1 ff:ff:ff:ff:ff:ff(любой мак) он начинает коннектиться. Потом в dmesg появляется we connected и тогда можно запускать dhclient. При этом network manager делает всё сам и нормально.

То что в логах это варнинги, из за того что там получается обработчик прирывания слишком долго его обрабатывает. Надо придумать что-то получше.

Ресет девайса вызван не драйвером, возможно девайсу не хватает питания.

про путь: ALT это тоже работает, но тогда собирать модуль надо от рута, а это несколько неправильно.

Reply

anpaza January 29 2009, 12:24:28 UTC
Ясно, попробую ещё раз вечерком =) жаль, нет COM порта, не могу снять кернел лог при полном падении компа, возможно там происходит что-то другое.

Что же до /lib/modules, это должно работать из-под любого пользователя (там стоит право на чтение для любых пользователей, во всяком случае так в Федоре).

То что в логах это варнинги, из за того что там получается обработчик прирывания слишком долго его обрабатывает. Надо придумать что-то получше.

Jan 25 23:56:11 zap kernel: BUG: sleeping function called from invalid context at kernel/mutex.c:88

Это оттого, что функция register_netdev() была вызвана из обработчика прерывания (пришёл URB), и где-то внутри вызвался mutex_lock() который решил заснуть (видимо, семафор кем-то занят).

Мне не очень понятно, почему там вдруг всплыл register_netdev во время получения URB. Странно.

Reply

silicium2 January 29 2009, 12:49:41 UTC
>Что же до /lib/modules, это должно работать из-под любого пользователя (там >стоит право на чтение для любых пользователей, во всяком случае так в >Федоре).
А вот оно в чем дело, в альте просто нет. Не думал что в других дистрах это можно. Тогда попроавлю.
>Мне не очень понятно, почему там вдруг всплыл register_netdev во время получения URB. Странно.
Дело в том что информация о том, что устройство инициализированно приходит так. Я решил что пока оно не инициализировано не надо создавать устройво. Навероне его стоит вынести в какой нибудть tasklet или kernel_thread

Reply


Как установить драйвер ? waterglassru January 29 2009, 12:16:20 UTC
Как содрать драйвер под 2.6.27
опыта по сборке нет
может есть пару команд которые нужно ввести в консоли ?

Reply

Re: Как установить драйвер ? silicium2 January 29 2009, 12:50:45 UTC
А какой у вас дистр?
В целом это примерно так:
надо поастивить хедера от ядра
потом сделать make KSRC=путь к хедерам
потом можно insmod u200.ko

Reply

Re: Как установить драйвер ? waterglassru January 29 2009, 12:54:10 UTC
У меня Ubuntu 8.10

Reply


как запустить waterglassru January 30 2009, 11:08:38 UTC
Я все сделал драйвер запускается но я не понял куда нужно файлы закинуть чтобы не приходилось каждый раз в консоли его запускать
На данный момент запускаю из папки куда инсталлировал появляется шкала и новое беспроводное подключение

Reply

Re: как запустить silicium2 January 30 2009, 17:39:58 UTC
А ну это просто, создайте в /lib/modules/версия вашего ядра/ директорию, например net. положите туда ko файл. И сделайте depmod. После этого у вас драйвер сам должен втягиваться при втыкании устройтва.

Reply


Leave a comment

Up