(РЕШЕНО) ipw2200 и RF_KILL

Автор Anton, 07 сентября 2012, 00:15:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Anton

всем здравствовать! Понимаю, тема избитая, но тем не менее, если подсобите победить ноутбучную карточку вай-фай, то общество линуксоидов пополнится на еще одну единицу.
Исходные данные:
1. Ноут RoverBook Voyager B514.
2. Debian Squezzy  2.6.32-5-686
3.  Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
4. dmesg
[    5.332052] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
[    5.332055] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[    5.332128] ipw2200 0000:06:01.0: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10
[    5.343209] i801_smbus 0000:00:1f.3: PCI INT B -> Link[LNKD] -> GSI 11 (level, low) -> IRQ 11
[    5.344373] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
[    5.344415] ipw2200 0000:06:01.0: firmware: requesting ipw2200-bss.fw
[    5.349476] intel_rng: FWH not detected
[    5.849110] [drm] Initialized drm 1.1.0 20060810
[    6.162747] ipw2200: Radio Frequency Kill Switch is On:
[    6.162750] Kill switch must be turned off for wireless networking to work.

[    6.183854] ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)


5. Кнопка включения вайфая отдельная и даже имеет свой скан код.
  61.732739] atkbd.c: Unknown key pressed (translated set 2, code 0x6d on isa0060/serio0).
[   61.732745] atkbd.c: Use 'setkeycodes 6d <keycode>' to make it known.


6.В Биосе все включено, в интернете прошарено.

7.
ifconfig
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:125 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11536 (11.2 KiB)  TX bytes:11536 (11.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:e0:61:41:79:45 
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:61ff:fe41:7945/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8067 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6266237 (5.9 MiB)  TX bytes:1477049 (1.4 MiB)

8. iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      radio off  ESSID:off/any 
          Mode:Managed  Channel:0  Access Point: Not-Associated   
          Bit Rate:0 kb/s   Tx-Power=off   Sensitivity=8/0 
          Retry limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wlan0     IEEE 802.11bg  ESSID:"VENERA" 
          Mode:Managed  Frequency:2.437 GHz  Access Point: B8:A3:86:43:8B:98   
          Bit Rate=48 Mb/s   Tx-Power=27 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=53/70  Signal level=-57 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


9. На данный момент пользуюсь usb адаптером wi-fi, wlan0 - это интерфейс адаптера . Его запустил, с кривого, но запустил. До сих пор с консоли ifdown - ifup. NM не видит, wicd просит какой то пароль доступа к карте вайфая.
rfkill list показывает информацию, только когда вставлен USB адаптер.
rfkill list
1: phy1: Wireless LAN
   Soft blocked: no
   Hard blocked: no
Это он пишет про usb адаптер. Хотя смущает разные названия интерфейсов.

ВОПРОС
Что нужно сделать, чтоб запустить встроенный вай фай?
Если нужна еще какая инфа, напишу.
Раз в год уже третий год пытаюсь победить эту проблему и ... :-\

Функциональные клавиши Fn+??? работают.
Кнопка wifi расположена отдельно.

Malaheenee

Собственно, зачем приводит бесполезные в данном контексте ifconfig и iwconfig?
1. Не сочтите за издевку, но прошивку-то поставили?
2. А какие правила udev стоят в persistent-network?
Все мы где-то, когда-то и в чем-то были новичками.

Anton

#2
[    5.332052] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
[    5.332055] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[    5.332128] ipw2200 0000:06:01.0: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10
[    5.343209] i801_smbus 0000:00:1f.3: PCI INT B -> Link[LNKD] -> GSI 11 (level, low) -> IRQ 11
[    5.344373] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
[    5.344415] ipw2200 0000:06:01.0: firmware: requesting ipw2200-bss.fw

Прошивка стоит.
По поводу правил ничего не скажу, поскольку туда не лез ни разу. Если эти правила могут как то повлиять на RFKILL, то разберусь))

[    6.162747] ipw2200: Radio Frequency Kill Switch is On:
[    6.162750] Kill switch must be turned off for wireless networking to work.
Меня RFKILL беспокоит.



Сообщение объединено: 07 сентября 2012, 18:01:54

Хех, лопнуло мое терпение в очередной раз))
Установил последнюю Убунту. Надеюсь Вы меня не погоните отсюда????
В Убунте аналогичная ситуация, но...
rfkill list
0: phy0: Wireless LAN
   Soft blocked: no
   Hard blocked: yes

В Биосе только один рычаг управления вафлей: либо вкл, либо выкл. Находится в положении ВКЛ.

dmesg
   7.599460] libipw: 802.11 data/management/control stack, git-1.1.13
[    7.599465] libipw: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
[    7.642492] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
[    7.642496] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[    7.642616] ipw2200 0000:06:01.0: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10
[    7.642645] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
[    8.071769] ipw2200: Radio Frequency Kill Switch is On:
[    8.071772] Kill switch must be turned off for wireless networking to work.
[    8.075302] [drm] initialized overlay support
[    8.076761] cfg80211: failed to add phy80211 symlink to netdev!
[    8.076880] cfg80211: Updating information on frequency 2412 MHz for a 20 MHz width channel with regulatory rule:

ПРавила UDEV
# PCI device 0x14e4:/sys/devices/pci0000:00/0000:00:1e.0/0000:06:09.0/ssb0:0 (b44)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:40:ca:de:91:9a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:1e.0/0000:06:01.0 (ipw2200)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:6f:27:93:c5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Сообщение объединено: 08 сентября 2012, 23:32:27

Что характерно, когда сношу прошивку ipw2x00-firmware, usb адаптер вайфая цепляется автоматом в NM. Только установлю ipw2x00-firmware, снова затык - ничего не работает.
Ядро скомпилил свое, RFKILL подключен, сетевые подключены.
Сдается мне проблема в следующем:
В Винде для управления вайфаем и тротлингом проца (снижение энергопотребления за счет пропуска тактов, вроде так) устанавливается специальная прога. То бишь для 2 кнопок целая отдельная утилита.
Посему, вижу 2 пути решения своей проблемы:
1. Забить на линух в очередной раз, поддержку смотрю не оказывают чегой то.
2. Провести реинженеринг виндовской утилиты на предмет каким макаром она включает вафлю, а заодно и тротлинг, тоже кстати не маловажная вещь для ноута.
ну и 3 вариант: написать письмо авторам этой утилиты, чтоб портировали на линух 8)

Сообщение объединено: 08 сентября 2012, 23:44:55

утилита
Power Manager and WLan RF OnOff

Сообщение объединено: 09 сентября 2012, 00:09:42

да кстати, ядро то скомпилил уже под дебиан ??? Коль убунта не помогла.
В последней Убунте чей т до терминала еле докопался, не в ту сторону гребут парни. Интерфейс ужасный, не юзабельный. Слишком много движений надо делать лишних, ИМХО.

Anton

Докладываю, проблема решена. ;D
Из трех вариантов, озвученных выше, эффективным оказался вариант №2: реверс виндовозской утилиты управления вафлей.
Кому интересно, действо сие происходило на просторах сайта exelab.ru вот в этой теме http://exelab.ru/f/index.php?action=vthread&forum=5&topic=20387&page=0.
Я там конечно тупил не по детски, но мне можно ::), я еще слишком молод :)

Код включения вафли, адреса портов вырваны из родной утилиты с помощью OllyDebug.

#include <stdio.h>
#include <unistd.h>
#include <sys/io.h>
#include <stdlib.h>

#define LEDPORT 0x118E /* ........ .................... */
#define WIFIPORT 0x118F /* ........ rf_Kill ..........*/

void main()
{
  /* ................ ............ .. .......... */
  if (ioperm(LEDPORT, 3, 1))
    {
      perror("ioperm");
      exit(1);
    }
 
  /* ................ ................ .......... */
  outb(0x80, LEDPORT);
 
    /* .................. ........*/
  if (ioperm(LEDPORT, 3, 0))
    {
      perror("ioperm");
      exit(1);
    }
   
usleep(100000);

  /* ................ ............ .. .......... */
  if (ioperm(WIFIPORT, 3, 1))
    {
      perror("ioperm");
      //exit(1);
    }
 
  /* ................ .......... (.................. rf_kill) */
  outb(0x12, WIFIPORT);
 
    /* .................. ........ */
  if (ioperm(WIFIPORT, 3, 0))
    {
      perror("ioperm");
      exit(1);
    }

exit(0);
}


Осталось примотать все это хозяйство к скан-коду кнопки. 8)  Но это отдельная тема ;D