讓LINUX成功支援Cirrus Logic軟貓(轉)

ba發表於2007-08-12
讓LINUX成功支援Cirrus Logic軟貓(轉)[@more@]我的3COM黑貓被朋友借去後久久不見歸還給我,一問,答曰:"沒了",然後賠給我一塊沒有任何驅動盤的內建PCI MODEN卡,我一看那最大的晶片上寫著"CL-md5620DT-QC-C",心裡頗感失望,因為這是一隻軟貓,
但又不甘心,找啊找,倒也找到了一個驅動。現在把它在LINUX下的安裝步驟與心得寫出來,讓有此貓的LINUER也可以驅此貓上戰場了.

驅動程式可以到這裡下載。
#cd /tmp
#mkdir clm
#cd clm
#cp /home/download/CLModem-0.3.0+gg.tar.gz .
#tar zxvf *gz
在開始編譯之前您必須瞭解此卡的一些相關資訊。
您可以這樣做:
#cat /proc/pci
找到這樣的一些字串:
Bus 0, device 10, function 0:
Communication controller: Cirrus Logic Unknown device (rev 1).
Vendor id=1013. Device id=4000.
Medium devsel. IRQ 10.
Non-prefetchable 32 bit memory at 0xe0008000 [0xe0008000].
I/O at 0xe400 [0xe401].
其中有用的兩個數值是:IRQ=10; i/o address=0xe400 !!!
然後編輯clm_config.h
#vi clm_config.h
將這兩行的內容以你自已的資料來代替,如將
#define CLM_BASE_IO_ADDRESS 0xde00
#define CLM_IRQ 10

改成:
#define CLM_BASE_IO_ADDRESS 0xd400
#define CLM_IRQ 10

然後編譯:
#make
將得到核心的模組(kernel module) "clm.o"
到此時,你可以為你的系統建立一個字元終端裝置了:
# mknod /dev/clm c 121 0
接下來你必須載入CLM的模組(module)
# /sbin/insmod clm.o
再為/dev/modem建立一個符號連結以使能方便執行minicom程式來設定與測試你的埠號等資訊:
#ln -s /dev/clm /dev/modem
#chmod a+rw /dev/modem /dev/clm
#minicom -s
#./PPP
#minicom

在minicom中鍵入ATZ,螢幕應該能返回一個“OK”的資訊了。

注意事項:
1、此驅動僅為ALPHA測試權,所以有可能會有安全漏洞,對於伺服器上請小心使用。
2、不能只看DSP晶片的型號,也得注意另一晶片的型號,我的卡上另一晶片型號是:
MD1724。對於這一點,驅動程式有特別注意事項。
3、此驅動僅完成了部分的功能,如復位(INIT)、撥號、資料的收發等。對於音量的控制還存在問題。
4、還不支援AT命令全集。現僅支援ATZ, ATR, ATI, ATDT, ATDP, ATM, 和 ATL。調變解調器返回
CONNECT,BUSY, NO DIALTONE, NO CARRIER 或 NO ANSWER的資訊。
5、推薦使用minicom程式。
經測試,不能與KPPP很好的工作,因為還不支援音量控制的命令。雖然其聲稱已經能使用
SPKR ON(turns on the speaker)、
SPKR OFF(turns off the speaker)、
SPKRVOL n(sets speaker volume to n (0-2))
來控制音量,但我在試用時好象還並不真正支援。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949859/,如需轉載,請註明出處,否則將追究法律責任。

相關文章