LinuxForum.Fans
Тема

MeeGo 1.0 правильная компиляция драйверов на примере WiFi

Автор: archawka 10 сообщений 8968 просмотров
#55356

Добрый день всем.
после того, как я ушел с работы, на моем нетбуке MSI Wind U120 закончилась лицензия на Win 7, и при условии отсутствия денег я начал искать *nix систему, которая будет соответствовать моим требованиям к удобству использования, лицензионной чистоте и максимальной работоспособности всех компонентов, которые установлены в моем нетбуке.

Выбор пал на MeeGo - я был покорен ее интерфейсом. не могло не радовать так же то, что сразу заработал звук, сетевая карта и usb-порты

Но на пути у меня встало одно существенное но - я абсолютный пользователь в линуксе и совершенно не смог разобраться в том, как линукс работает вообще, а тем более MeeGo, которая зарелизена для разработчиков и многие вещи в ней попросту недоделаны.

у меня не завелся wifi и bluetooth. в данном случае это Realtek 8187SE с встроенным bluetooth модулем.

я нашел сайт человека, который написал драйвера под этот реалтек - http://code.google.com/p/msi-wind-linux/

распаковав архив, я по виндовой привычке в графическом режиме двойным нажатием мыши запустил инсталл.
заветного wi-fi подключения в списке подключений не появилось. Я перезагрузился - ура, заработал bluetooth! но wi-fi так и не появилось.

в связи этим вопрос - как грамотно компилировать и инсталлировать полученные драйвера в *nix системах вообще, и в данной системе в частности? если уже есть подробное описание процесса где-либо на просторах интернета - дайте пожалуйста ссылку.

для уточнения - результаты команды uname:

# uname -a
Linux Archawka-desktop 2.6.33.3-11.1-netbook #1 SMP PREEMPT Fri May 21 20:52:54 UTC 2010 i686 i686 i386 GNU/Linux

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

#55410

дайте, пожалуйста, вывод команд lsmod и ifconfig -a. Обе выполняйте из под суперпользователя (root)

#55435

lsmod:

text

[root@Archawka-desktop Archawka]# lsmod
Module                  Size  Used by
cbc                     1981  140 
ecryptfs               75534  1 
joydev                  7110  0 
battery                 7968  0 

ifconfig -a

text

[root@Archawka-desktop Archawka]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:24:21:6E:72:E0  
          inet addr:192.168.0.187  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::224:21ff:fe6e:72e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26911 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5934 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9223637 (8.7 MiB)  TX bytes:1144714 (1.0 MiB)
          Interrupt:26 Base address:0xa000 

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:453 errors:0 dropped:0 overruns:0 frame:0 TX packets:453 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:39798 (38.8 KiB) TX bytes:39798 (38.8 KiB)

Пожалуйста.
На всякий пожарный дам еще вывод lspci:

text
[root@Archawka-desktop Archawka]# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8187SE Wireless LAN Controller (rev 22)
#55732

я попробовал выполнить простые инструкции, данные на сайте http://code.google.com/p/msi-wind-linux/wiki/installer .
ниже итог:

text

[root@Archawka-desktop Documents]# sh installer
make -C /lib/modules/2.6.33.3-11.1-netbook/build M=/home/Archawka/Documents/rtl8187se_coffee/ieee80211 CC=gcc modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
  CC [M]  /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.o
In file included from /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211.h:706,
                 from /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:55:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: warning: its scope is only this definition or declaration, which is probably not what you want
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:84: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c: In function ‘alloc_ieee80211_rtl’:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:116: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c: In function ‘free_ieee80211_rtl’:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:187: warning: passing argument 1 of ‘ieee80211_crypt_deinit_entries_rtl’ from incompatible pointer type
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: note: expected ‘struct ieee80211_device *’ but argument is of type ‘struct ieee80211_device *’
make[2]: *** [/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.o] Error 1
make[1]: *** [_module_/home/Archawka/Documents/rtl8187se_coffee/ieee80211] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
make: *** [modules] Error 2
cp: cannot stat `Module.symvers': No such file or directory
make -C /lib/modules/2.6.33.3-11.1-netbook/build M=/home/Archawka/Documents/rtl8187se_coffee/rtl8185 CC=gcc modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
  CC [M]  /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.o
In file included from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211.h:706,
                 from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180.h:44,
                 from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:67:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:81: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:81: warning: its scope is only this definition or declaration, which is probably not what you want
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:84: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_shutdown’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:203: error: ‘struct net_device’ has no member named ‘stop’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘alloc_tx_desc_ring’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1803: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1803: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1804: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1804: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘alloc_rx_desc_ring’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2052: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2052: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2053: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2053: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_init’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:4640: error: ‘struct net_device’ has no member named ‘get_stats’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_pci_probe’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6027: error: ‘struct net_device’ has no member named ‘open’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6028: error: ‘struct net_device’ has no member named ‘stop’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6030: error: ‘struct net_device’ has no member named ‘tx_timeout’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6032: error: ‘struct net_device’ has no member named ‘do_ioctl’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6033: error: ‘struct net_device’ has no member named ‘set_multicast_list’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6034: error: ‘struct net_device’ has no member named ‘set_mac_address’
make[2]: *** [/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.o] Error 1
make[1]: *** [_module_/home/Archawka/Documents/rtl8187se_coffee/rtl8185] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
make: *** [modules] Error 2
wlan0: unknown interface: No such device
ERROR: Module r8180 does not exist in /proc/modules
ERROR: Module ieee80211_rtl does not exist in /proc/modules
ERROR: Module ieee80211_crypt_ccmp_rtl does not exist in /proc/modules
ERROR: Module ieee80211_crypt_tkip_rtl does not exist in /proc/modules
ERROR: Module ieee80211_crypt_wep_rtl does not exist in /proc/modules
ERROR: Module ieee80211_crypt_rtl does not exist in /proc/modules
insmod: can't read 'ieee80211_crypt-rtl.ko': No such file or directory
insmod: can't read 'ieee80211_crypt_wep-rtl.ko': No such file or directory
insmod: can't read 'ieee80211_crypt_tkip-rtl.ko': No such file or directory
insmod: can't read 'ieee80211_crypt_ccmp-rtl.ko': No such file or directory
insmod: can't read 'ieee80211-rtl.ko': No such file or directory
insmod: can't read 'r8180.ko': No such file or directory
wlan0: unknown interface: No such device
make -C /lib/modules/2.6.33.3-11.1-netbook/build M=/home/Archawka/Documents/rtl8187se_coffee/ieee80211 CC=gcc modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
  CC [M]  /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.o
In file included from /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211.h:706,
                 from /home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:55:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: warning: its scope is only this definition or declaration, which is probably not what you want
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:84: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c: In function ‘alloc_ieee80211_rtl’:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:116: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c: In function ‘free_ieee80211_rtl’:
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.c:187: warning: passing argument 1 of ‘ieee80211_crypt_deinit_entries_rtl’ from incompatible pointer type
/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_crypt.h:81: note: expected ‘struct ieee80211_device *’ but argument is of type ‘struct ieee80211_device *’
make[2]: *** [/home/Archawka/Documents/rtl8187se_coffee/ieee80211/ieee80211_module.o] Error 1
make[1]: *** [_module_/home/Archawka/Documents/rtl8187se_coffee/ieee80211] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
make: *** [modules] Error 2
cp: cannot stat `Module.symvers': No such file or directory
make -C /lib/modules/2.6.33.3-11.1-netbook/build M=/home/Archawka/Documents/rtl8187se_coffee/rtl8185 CC=gcc modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
  CC [M]  /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.o
In file included from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211.h:706,
                 from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180.h:44,
                 from /home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:67:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:81: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:81: warning: its scope is only this definition or declaration, which is probably not what you want
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/ieee80211_crypt.h:84: warning: ‘struct ieee80211_device’ declared inside parameter list
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_shutdown’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:203: error: ‘struct net_device’ has no member named ‘stop’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘alloc_tx_desc_ring’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1803: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1803: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1804: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:1804: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘alloc_rx_desc_ring’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2052: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2052: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2053: warning: cast to pointer from integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:2053: warning: cast from pointer to integer of different size
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_init’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:4640: error: ‘struct net_device’ has no member named ‘get_stats’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c: In function ‘rtl8180_pci_probe’:
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6027: error: ‘struct net_device’ has no member named ‘open’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6028: error: ‘struct net_device’ has no member named ‘stop’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6030: error: ‘struct net_device’ has no member named ‘tx_timeout’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6032: error: ‘struct net_device’ has no member named ‘do_ioctl’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6033: error: ‘struct net_device’ has no member named ‘set_multicast_list’
/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.c:6034: error: ‘struct net_device’ has no member named ‘set_mac_address’
make[2]: *** [/home/Archawka/Documents/rtl8187se_coffee/rtl8185/r8180_core.o] Error 1
make[1]: *** [_module_/home/Archawka/Documents/rtl8187se_coffee/rtl8185] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-11.1-netbook'
make: *** [modules] Error 2
cp: cannot stat `ieee80211/*.ko': No such file or directory
cp: cannot stat `rtl8185/*.ko': No such file or directory
grep: /etc/modules: No such file or directory
[root@Archawka-desktop Documents]#

так как я не знаю, что должно быть в нормальной системе до того, как ставить драйвера, и что нужно для того, чтобы скомпилить драйвера (потому что ругань в конце, как мне кажется, идет из-за того что компилятор не понимает, что от него хотят),
я не могу решить проблему.

#55736

archawka, Вот, например, тут:
http://patchwork.ozlabs.org/patch/27566/
написано, что ошибки вроде:
error: ‘struct net_device’ has no member named ‘get_stats’
связаны с обновлением ядра и исходники ядра тоже должны быть.

Ругань в самом конце понятна - просто модули не собрались.

Хотя может я не прав, ибо с MeeGo дела пока не имел.

#55755

ага, спасибо. а куда исходники ядра класть и в каком виде?

Апдейт:

информация, представленная тут верная?
правильно я понимаю, что мне надо качать исходники версии 2.6.33.3-11.1-netbook (согласно выводу команды uname), или наиболее похожие?

#55761

archawka, посмотрите, что у вас в директории /usr/src
ls -la /usr/src/linux*
И вообще, на нетбуках исходников нету, обычно. Но раз предлагают собирать из
исходников модули, то наверное надо поставить и исходники ядра.

Поэтому вопрос - как в MeeGo софт вообще ставится?

#55822

извиняюсь, пока что не смогу ответить на ваш вопрос, MeeGo не загружается. точнее не показывает экран приветствия и не реагирует ни на что кроме заветных трех кнопок.

какк ставится софт? yum search, потом yum install

Апдейт:

text

[Archawka@Archawka-desktop ~]$ ls -la /usr/src/linux*
total 0
drwxr-xr-x 1 root root  8 Jun 17 08:43 .
drwxr-xr-x 1 root root 42 Jun 17 08:43 ..
drwxr-xr-x 1 root root 14 Jun 17 08:43 i586
[Archawka@Archawka-desktop ~]$ 
#59324

в связи с пониманием, что сам дурак, временно оставил затею с MeeGo, переключился на федору. сначала разберусь в данном типе операционок, командах и взаимодействии с пользователем.... (ну кстати на федоре ни одним способом дрова тоже не заводятся)

#83287

решил проблему способом "попробуйте заменить церковь" - установил интеловский WiFi модуль.
и ровно через день после этого были выложены драйвера под RTL8187SE.

Пока что думаю, разбирать опять нетбук или нет...

Войдите или зарегистрируйтесь, чтобы ответить.