리눅스 커널에서 지원하지 않는 무선랜 설정(센트리노 포함)

무한포옹의 이미지

아시는 분은 아시겠지만 리눅스 커널에서 지원하는

무선 랜에 센트리노는 아직 포함되어 있지 않습니다.

그런 상황에 쓸 수 있는 팁입니다.

필요한 준비물은 다음입니다.

1. ndiswrapper.tar.gz
2. 리눅스 커널 소스
3. wireless-tools 패키지 (데비안 sid의 경우 wireless-tools 26-6 을 받았습니다)
4. WINDOWS 에서 사용하던 드라이버 ( sys와 inf , 장치관리자에서 드라이버 정보를 보면
됩니다)
무언가 메시지가 조금 나올겁니다.

ndiswrapper 라는 모듈로 windows 의 드라이버를 빌려와서 사용가능케 하는 거죠.

http://ndiswrapper.sf.net 에 가시면 구할 수 있고요 지원하는 무선랜 칩셋은

* Admtek
* Atheros
* Broadcom
* Intel PRO/Wireless Lan (Centrino)
등입니다 .(그 외에도 가능한지는 모르죠)

일단 소스를 http://sourceforge.net/projects/ndiswrapper/

에서 다운 받은 후에 임시 디렉토리에 압축을 풉니다.

이때 리눅스 커널 소스가 설치되어 있어야 하고

현재 리눅스 커널이 설정된 환경이어야 합니다. 버젼은 2.4, 2.6 모두 지원합니다.

압축이 풀린 디렉토리에서 간단히 make 명령을 내립니다.

/var/tmp/ndiswrapper$ make 
make -C driver
make[1]: Entering directory `/var/tmp/ndiswrapper/driver'
make -C /lib/modules/2.6.1-mm1/build SUBDIRS=/var/tmp/ndiswrapper/driver modules
make[2]: Entering directory `/usr/src/linux-2.6.1-mm1'
*** Warning: Overriding SUBDIRS on the command line can cause
***          inconsistencies
make[3]: `arch/i386/kernel/asm-offsets.s' is up to date.
  CC [M]  /var/tmp/ndiswrapper/driver/wrapper.o
  CC [M]  /var/tmp/ndiswrapper/driver/loader.o
  CC [M]  /var/tmp/ndiswrapper/driver/winsyms.o
  CC [M]  /var/tmp/ndiswrapper/driver/ndis.o
  CC [M]  /var/tmp/ndiswrapper/driver/misc_funcs.o
  LD [M]  /var/tmp/ndiswrapper/driver/ndiswrapper.o
  Building modules, stage 2.
  MODPOST
  CC      /var/tmp/ndiswrapper/driver/ndiswrapper.mod.o
  LD [M]  /var/tmp/ndiswrapper/driver/ndiswrapper.ko
make[2]: Leaving directory `/usr/src/linux-2.6.1-mm1'
make[1]: Leaving directory `/var/tmp/ndiswrapper/driver'
make -C utils
make[1]: Entering directory `/var/tmp/ndiswrapper/utils'
cc -g -Wall   -c -o loaddriver.o loaddriver.c
flex  -t inf-parser.l > inf-parser.c
cc -g -Wall   -c -o inf-parser.o inf-parser.c
gcc -o loaddriver loaddriver.o inf-parser.o
rm inf-parser.c
make[1]: Leaving directory `/var/tmp/ndiswrapper/utils'

위와 같은 식으로 컴파일이 금방 끝납니다.

이제 루트 권한으로

# pwd
/var/tmp/ndiswrapper
# mkdir /lib/modules/$(uname -r)/misc 
# depmod -a
# cp driver/ndiswrapper.ko /lib/modules$(uname -r)/misc     // 2.4 라면  ndiswrapper.o 

# cp utils/loaddriver /usr/local/sbin/

자 이제 저 소스에서 하는 건 다 했습니다.

실제로 사용하는 걸 보겠습니다.

일단 자신의 노트북의 pci 정보에서 PCI ID , vendor id 등을 알아내야 합니다.

# lspci 
....
[b]01:0d.0[/b] Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
....

01:0d.0 이 제 노트북의 무선랜 칩셋 PCI ID 입니다.
# lspci -n |egrep 01:0d.0
[b]01:0d.0[/b] Class 0280: [b]8086:1043[/b] (rev 04)

8086 이 인텔의 벤더 ID , 1043 이 제 칩셋의 디바이스 ID 입니다.

이 정보를 외우든지 적어 두시기 바랍니다.

다음은 각 노트북등에 포함된 윈도우즈 드라이버 파일이나 메이커에서 다운 받은 드라이버 파일안에서

*.sys 와 *.inf 를 추출해서 /usr/local/share/ndiswrapper 와 같은 디렉토리 안에 넣습니다.

그리고

# modprobe ndiswrapper
# loaddriver 8086 1043 /usr/local/share/ndiswrapper/w70n51.sys /usr/local/share/ndiswrapper/w70n51.inf 

어디까지나 제 노트북의 경우입니다. 메시지가 조금 나왔을 겁니다.

# iwconfig eth1 mode Managed 
# iwlist eth1 scannig    // 가능한 무선랜 리스트가 나옵니다
# iwconfig eth1 essid "ESSID_이름"
# ifconfig eth1 up
# ifconfig eth1 x.x.x.x netmask m.m.m.m up //수동 IP 부여 
또는 
# dhclient eth1   // dhcp 를 사용한 IP 할당

이상입니다.

ndiswrapper 소스에 포함된 README 를 읽어보시면 자동화 하는 과정도

나와있습니다.

많은 분들이 리눅스에서도 무선 인터넷을 사용하시면 좋겠네요.

********
2.6.0 에서 모듈 로딩 확인했으며 무선 인터넷 이용가능합니다.
2.6.1 에서 가능합니다(기억상으로는)
2.6.1-mm2 에서 로딩 되지 않습니다. (__mdulf3 심볼때문에..)
(mm은 커널 패치입니다. linux커널 미러에서 kernel/people/akpm/patches/ 에서 찾을 수 있습니다.)
********
ndiswrapper version 0.4 가 나왔습니다. kernel version 2.6.1-mm3 에까지도
잘 올라가는 군요.
ethx 에서 wlanx 으로 바뀌었군요. 속도도 괜찮게 나옵니다.
그리고 loaddriver -> loadndisdriver 로 윈도 드라이버 로더 이름이 바뀌었습니다.

Forums: 
hidRomeo의 이미지

Compaq X-1083ap 에서 무선랜을 써보고자 하는참에 올려주신 글 잘 보았습니다. 저같은 경우는 lspci 해서 정보를 살펴보면, 디바이스에 대한 이름은 잡히지가 않네요. (Intel - Unknown Network device 정도로만 출력을 해주네요)

결정적인 문제는
# loaddriver ...... w70n51.sys w70n51.inf
명령어를 먹이고 나면 컴퓨터가 "정지" 해버는 겁니다.

혹시나 해서 2.6.1 로 커널을 업그레이드해서
실행해 봤는데, 역시나네요. ;;

무선랜사용법에 대한 글을 발견할 수 있어서, 너무 좋았는데...
아직까지는 암울모드군요. :twisted:

---------------
덕분에 2.6 깔아서 잘 사용하고 있습니다. :D
성공하면 덧글 하나 더 달지요~

(Ф_Ф) 언제까지나 즐거울 수 있도록...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.