2.6커널 에서 WinModem모듈 등록할려고 2.4커널 컴파일 하는 도중에...

bff38auxo의 이미지

MW560LT Agere systems LT WinModem을 리눅스에서 테스트 할 일이 생겼습니다.

그래서 컴파일 해서 올리려고 보니

2.4.18까지만 정상동작 한다고 되어있더라구요. 그래서 2.4.18을 컴파일해서 올려보려고

다운받았습니다.

이제 이걸 컴파일하기 위해

일반적인 커널 컴파일 방법을 사용했을때

ln -s /linux-version/ /usr/src/linux
make mrproper
make menuconfig

까지 완료하고

make dep 를 수행하게 되면

Fedora core 6 에서는 genksyms가 없다고 나와서 2.6.20-1.2952.fc6버전
커널 소스를 받아서 컴파일 한 다음 /sbin 에 넣어주고 다시 실행하면
옵션 메세지가 출력되길래 확인해보니 옵션이 다르더군요.

2.6.20-1.2952.fc6 에 들어있는 건 genksyms version 2.5.60 이었고,
구글신에게 여쭈어보니 나오는 건

genksyms [-wq] [-dD] [-V] [-k version] [-p string] [output directory]

다음과 같은 옵션인 걸로 봐서는 커널 버전이 달라지면서 모듈 유틸로 바뀐 것으로 보고
2.4.18에 들어있는 genksyms를 사용하여 진행하였습니다. 옵션도 위와 같아서 올바른 파일로 봤습니다.
몇몇 파일이 없다고 나오는거 말고는 잘되더군요.ㅡㅡㅋ

이제 이미지를 생성하기 위해 make bzImage를 실행하면 다음과 같은 에러가 뜹니다.

---

/usr/src/kernels/linux-2.4.18/include/linux/smp.h:29: error: conflicting types for ‘smp_send_reschedule’
/usr/src/kernels/linux-2.4.18/include/asm/smp.h:65: error: previous declaration of ‘smp_send_reschedule’ was here
..
make: *** [init/main.o] 오류 1

---

에러 메세지를 보아하니, 헤더 파일을 두번 포함했다는거 같은데...(위 에러는 검색하니 나오는군요:))

커널 소스라 함부로 손을 못 대겠네요...oTL

www.kernel.org에서 다운받았는데, 제가 뭘 손봐야 할까요..

modutils-2.4.18 은 바이너리 패키지를 받아서, genksyms만 지정해놓고 썻습니다.

혹시나 싶어 init/main.c, include/linux/smp.h, include/asm/smp.h를 같이 올려봅니다.

.....파일 첨부가 안되는군요...oTL

해서 해당 부분...

init/main.c line 68-70
 
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
#endif

include/linux/smp.h line 25
 
/*
 * sends a 'reschedule' event to another CPU:
 */
extern void FASTCALL(smp_send_reschedule(int cpu));

include/asm/smp.h line 65
    extern void smp_send_reschedule(int cpu);
danskesb의 이미지

당연히 안 되죠. 2.6 커널과 2.4 커널은 구조가 다릅니다.
그리고 소프트웨어 모뎀은 대부분 배포판에서 패키지를 제공할 거 같은데요? fedora 6 winmodem 같은 키워드로 검색하세요.

추가: http://www.linmodems.org/ 사이트에 있는 scanModem 도구를 사용하면 도움을 줄 수 있습니다.
---- 절취선 ----
http://blog.peremen.name

bff38auxo의 이미지

열심히 찾고 있습니다만, 2.6커널에서 사용가능한 것은 찾지를 못하였습니다.

제가 능력이 부족한 것인지...-0-

그래서 일단 scanmodem, lspci -vv, dmesg | grep tty, lshw결과값 올립니다.

[root@creature ltmodem-8.31a10]# ./scanmodem
 
 
UPDATE=2004_Nov_26
TMPM=/dev/shm/0tmpfile
 
 
Providing detail for device at PCI_bus 02:0b.0
  with vendor-ID:device-ID
            ----:----
Class 0780: 11c1:044e   Communication controller: Agere Systems LT WinModem (rev 01)
  SubSystem 155d:1003   Mac System Co Ltd Unknown device 1003
02:0b.0 0780: 11c1:044e (rev 01)
        Flags: bus master, medium devsel, latency 0, IRQ 11
        Memory at f5000400 (32-bit, non-prefetchable) [=256]
        I/O ports at 2480 [=8]
 
                  -----PCI_IDs-------                    --CompilerVer- 
    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
 ./scanModem test 11c1:044e 155d:1003 redhat 2.6.20-1.2952.fc6 4.1.1 4.1.1    i686
 
IDENT=AGERE
PCIDEV=11c1:044e
Vendor=11c1
 
 The modem has a supported Lucent/Agere DSP (digital signal processing) chipset
  with primary PCI_ID:  11c1:044e
 DSP=1

lspci -vv
 
02:0b.0 Communication controller: Agere Systems LT WinModem (rev 01)
        Subsystem: Mac System Co Ltd Unknown device 1003
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0 (63000ns min, 3500ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at f5000400 (32-bit, non-prefetchable) [=256]
        Region 1: I/O ports at 2480 [=8]
        Region 2: I/O ports at 2000 [=256]
        Capabilities: [f8] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

[root@creature ltmodem-8.31a10]# dmesg | grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

lshw
 
*-pci:1
             description: PCI bridge
             product: 82801 PCI Bridge
             vendor: Intel Corporation
             physical id: 1e
             bus info: pci@0000:00:1e.0
             version: 05
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master
           *-network
                description: Ethernet interface
                product: 3c905B 100BaseTX [Cyclone]
                vendor: 3Com Corporation
                physical id: a
                bus info: pci@0000:02:0a.0
                logical name: eth0
                version: 64
                serial: 00:10:5a:84:52:f9
                size: 100MB/s
                capacity: 100MB/s
                width: 32 bits
                clock: 33MHz
                capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=3c59x duplex=full ip=192.168.0.130 latency=80 link=yes maxlatency=10 mingnt=10 module=3c59x multicast=yes port=MII speed=100MB/s
           *-communication UNCLAIMED
                description: Communication controller
                product: LT WinModem
                vendor: Agere Systems
                physical id: b
                bus info: pci@0000:02:0b.0
                version: 01
                width: 32 bits
                clock: 33MHz
                capabilities: pm bus_master cap_list
                configuration: latency=0 maxlatency=14 mingnt=252

보아하니 인식은 하고 있는거 같습니다.

wvdial 설정을 /dev/tty 하나씩 시도해보고는 있습니다만..

아직 안 보이는군요...oTL

추가: wvdialconf /etc/wvdial.conf 로 모뎀 포트를 찾아주는군요.
근데 결과는...oTL

[root@creature ltmodem-8.31a10]# wvdialconf /etc/wvdial.conf
Scanning your serial ports for a modem.
 
ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Port Scan<*1>: S2   S3   
 
 
Sorry, no modem was detected!  Is it in use by another program?
Did you configure it properly with setserial?
 
Please read the FAQ at <a href="http://open.nit.ca/wvdial/
 
If" rel="nofollow">http://open.nit.ca/wvdial/
 
If</a> you still have problems, send mail to <a href="mailto:wvdial-list@lists.nit.ca" rel="nofollow">wvdial-list@lists.nit.ca</a>.

bff38auxo의 이미지

http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/

2.6커널용 드라이버가 있었네요..왜 못 찾았었는지;;

일단 저걸로 시도해봐야겠습니다.

그럼 ㅌㅌ

댓글 달기

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