리눅스에서 랜카드 모듈을 삭제하려고하는데 커널 컴파일 해야하나요?

pmj0403의 이미지

랜카드 디바이스 드라이버 모듈을 올리려고 하는데요.
현재 우분투 8.04버전에서 make한후 나온 e100.ko 파일을 insmod해서 모듈을 올리는거 까지 확인했거든요.
근데 ifconfig 치면 이게 안나오네요..lsmod치면 pcnet32라는 모듈이 깔려있는 랜카드 모듈인 것 같아서..
rmmod로 모듈을 제거해본후에 다시 e100.ko를 insmod해도 똑같이 ifconfig에서 안나옵니다.
혹시 커널내에 랜카드 모듈이 잡혀 있어서 그런건가요???그래서 추가로 .ko 파일을 만들어 올려도 인식을 못하는건가요??커널 컴파일해서 해당 랜카드 모듈을 삭제해야 하는건지도 궁금합니다.
기초적인 질문인데(;;;) 답변 부탁드립니다.

danskesb의 이미지

모듈을 드라이버로 바꿔서 생각해 보세요. 제목과 내용이 달라서 하드웨어 구성 및 하려고 하는 행동이 뭔지는 잘 모르겠습니다만, 글만 보면 엔비디아 그래픽카드를 꼽고 엔비디아 드라이버가 올라간 걸 삭제하고 ATI 드라이버를 설치하려고 하는 행동과 같습니다. 각각 모듈은 지원하는 하드웨어 장치가 다르기 때문에, 장치에 맞는 모듈을 사용해야 합니다.

---- 절취선 ----
http://blog.peremen.name

pmj0403의 이미지

제가하는건 e100이라는 네트워크 카드가 올라가 있는 걸 내리고(이게 맞는표현인지는 모르겠지만;)
e100의 c소스를 make한후, 해당 e100의 오브젝트 파일인 ko파일을 insmod로 올리려는건데요.
이렇게 올리면 안되는건지 질문했었던 것입니다.
그래서 커널컴파일할때 랜카드 모듈을 체크하거나 해제하거나 해야하는지 궁금해서 글을 올렸습니다.

pmj0403의 이미지

아..제가 생각하고 있었던건 lsmod치면 pcnet32이라는 이름으로 나오지만, 이게 e100이라고 생각했거든요..
이유가 해당 노트북의 랜카드 모델을 보면 알수가 있으니까요..그래서 당연히 pcnet32가 e100이라 생각했었습니다..ifconfig로 pcnet32모듈을 올리고 안올리고에 따라 eth0 인터페이스가 잡히고 안잡히고 했거든요...혹시 제가 생각한게 틀렸다면 지적 부탁드립니다.

danskesb의 이미지

pcnet32와 e100은 서로 다른 두 모듈입니다. 맨 처음 댓글에서 밝혔듯이 서로 바꿔서 쓸 수 없습니다. 그래서 e100을 올렸을 때 네트워크 카드가 동작하지 않았던 겁니다. pcnet32를 올렸을 때 eth0이 올라오면 그걸 써야 하는 게 맞습니다.

---- 절취선 ----
http://blog.peremen.name

pmj0403의 이미지

혹시 제가 vmware에서 작업을 하고 있어서 그런건가요??..
vmware가 아닌 그냥 노트북에서 lsmod 쳐보니까 pcnet32라는 모듈이 없는 걸로 나오던데요..

danskesb의 이미지

각각 모듈이 어떻게 장치를 인식하는지 확인하려면 /sbin/modinfo (모듈 이름) 명령을 실행시켜 보세요.

$ /sbin/modinfo pcnet32
filename:       /lib/modules/2.6.32-5-amd64/kernel/drivers/net/pcnet32.ko
license:        GPL
description:    Driver for PCnet32 and PCnetPCI based ethercards
author:         Thomas Bogendoerfer
alias:          pci:v00001023d00002000sv*sd*bc02sc00i*
alias:          pci:v00001022d00002000sv*sd*bc*sc*i*
alias:          pci:v00001022d00002001sv*sd*bc*sc*i*
depends:        mii
vermagic:       2.6.32-5-amd64 SMP mod_unload modversions 
parm:           debug:pcnet32 debug level (int)
parm:           max_interrupt_work:pcnet32 maximum events handled per interrupt (int)
parm:           rx_copybreak:pcnet32 copy breakpoint for copy-only-tiny-frames (int)
parm:           tx_start_pt:pcnet32 transmit start point (0-3) (int)
parm:           pcnet32vlb:pcnet32 Vesa local bus (VLB) support (0/1) (int)
parm:           options:pcnet32 initial option setting(s) (0-15) (array of int)
parm:           full_duplex:pcnet32 full duplex setting(s) (1) (array of int)
parm:           homepna:pcnet32 mode for 79C978 cards (1 for HomePNA, 0 for Ethernet, default Ethernet (array of int)

저기에 alias: 부분의 pci: vxxxxxxxxdxxxxxxxx부분의 8자리 숫자가 PCI 장치 ID입니다. 여기에는 8자리로 나와 있으나, 맨 끝의 4자리만 생각해 봅시다. 그 다음 lspci -nn 명령을 내려서 네트워크 카드의 PCI ID를 확인해 봅니다. 장치 설명이 나온 다음 [abcd:efgh] 식으로 나올 겁니다. 저기 나오는 PCI ID와 modinfo 결과의 PCI ID가 일치해야 모듈이 실제로 작동합니다.

---- 절취선 ----
http://blog.peremen.name

pmj0403의 이미지

혹시 제가 vmware에서 작업을 하고 있어서 그런건가요??..
vmware가 아닌 그냥 노트북에서 lsmod 쳐보니까 pcnet32라는 모듈이 없는 걸로 나오던데요..

danskesb의 이미지

네. -_- VMWare는 모든 장치가 가상 장치입니다.

---- 절취선 ----
http://blog.peremen.name

madman93의 이미지

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

pmj0403의 이미지

vmware안깔고 해보고있는데요
e100에서 e1000 랜카드 사용하는 노트북으로 갈아탔어요...e100 노트북에 씨디롬이 없어서;;;;
해당 소스는 인텔 홈페이지에서 e1000 소스코드를 다운받아서 해보고 있습니다.
make 후 생성된 ko 파일을 insmod이나 modprobe로 e1000 모듈을 올렸거든요..
근데 ifconfig에 안나오네요;환경은 지금 우분투 6.10에 커널 2.6.17버전에서 하고 있는데요.
분명 e1000 모듈이 올라가기는 하는데 ifconfig나 ifconfig -a에서 나오질 않네요.
원래는 디폴트로 잡혀있었는데 제가 rmmod e1000하고 나서 그다음에는 ifconfig에 나오질 않고 있는데요.
혹시 방법 아신다면 답변 부탁드립니다.

ydhoney의 이미지

왜 모듈을 올리죠? 인식이 안되시나요? -_-;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.