各位高手:我该怎样把这个串口卡驱动起来?
我的pci串口卡芯片型号:msc9845cv ,4串口卡我的电脑端口信息:
# setserial /dev/ttyS0 -a
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 500, divisor: 0
closing_wait: 30000
Flags: spd_normal skip_test auto_irq
# setserial /dev/ttyS1 -a
/dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 500, divisor: 0
closing_wait: 30000
Flags: spd_normal skip_test auto_irq
# setserial /dev/ttyS2 -a
/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4
Baud_base: 115200, close_delay: 500, divisor: 0
closing_wait: 30000
Flags: spd_normal skip_test auto_irq
主板PCI信息:
# more /proc/pci
PCI devices found:
Bus 0, device 0, function 0:
Class 0600: PCI device 1106:3148 (rev 0).
Master Capable. Latency=8.
Prefetchable 32 bit memory at 0xe0000000 .
Bus 0, device 1, function 0:
Class 0604: PCI device 1106:b091 (rev 0).
Master Capable. No bursts. Min Gnt=12.
Bus 0, device 9, function 0:
Class 0400: PCI device 109e:036e (rev 17).
IRQ 17.
Master Capable. Latency=64. Min Gnt=16.Max Lat=40.
Prefetchable 32 bit memory at 0xdfffe000 .
Bus 0, device 9, function 1:
Class 0480: PCI device 109e:0878 (rev 17).
IRQ 17.
Master Capable. Latency=64. Min Gnt=4.Max Lat=255.
Prefetchable 32 bit memory at 0xdffff000 .
Bus 0, device 10, function 0:
Class 0780: PCI device 9710:9845 (rev 1).
IRQ 18.
Master Capable. Latency=64.
--More--(0%)
察看/proc/pci文件显示:
PCI devices found:
Bus 0, device 0, function 0:
Class 0600: PCI device 1106:3148 (rev 0).
Master Capable. Latency=8.
Prefetchable 32 bit memory at 0xe0000000 .
Bus 0, device 1, function 0:
Class 0604: PCI device 1106:b091 (rev 0).
Master Capable. No bursts. Min Gnt=12.
Bus 0, device 9, function 0:
Class 0400: PCI device 109e:036e (rev 17).
IRQ 17.
Master Capable. Latency=64. Min Gnt=16.Max Lat=40.
Prefetchable 32 bit memory at 0xdfffe000 .
Bus 0, device 9, function 1:
Class 0480: PCI device 109e:0878 (rev 17).
IRQ 17.
Master Capable. Latency=64. Min Gnt=4.Max Lat=255.
Prefetchable 32 bit memory at 0xdffff000 .
Bus 0, device 10, function 0:
Class 0780: PCI device 9710:9845 (rev 1).
IRQ 18.
Master Capable. Latency=64.
I/O at 0xef00 .
I/O at 0xee80 .
I/O at 0xee00 .
I/O at 0xed80 .
I/O at 0xed00 .
I/O at 0xec80 .
Bus 0, device 16, function 2:
Class 0c03: PCI device 1106:3038 (rev 128).
IRQ 21.
Master Capable. Latency=64.
I/O at 0xec00 .
Bus 0, device 16, function 1:
Class 0c03: PCI device 1106:3038 (rev 128).
IRQ 21.
Master Capable. Latency=64.
I/O at 0xe080 .
Bus 0, device 16, function 0:
Class 0c03: PCI device 1106:3038 (rev 128).
IRQ 21.
Master Capable. Latency=64.
I/O at 0xe000 .
Bus 0, device 16, function 3:
Class 0c03: PCI device 1106:3104 (rev 130).
IRQ 21.
Master Capable. Latency=64.
Non-prefetchable 32 bit memory at 0xffaff800 .
Bus 0, device 17, function 0:
Class 0601: PCI device 1106:3177 (rev 0).
Bus 0, device 17, function 1:
Class 0101: PCI device 1106:0571 (rev 6).
IRQ 255.
Master Capable. Latency=32.
I/O at 0xfc00 .
Bus 0, device 17, function 5:
Class 0401: PCI device 1106:3059 (rev 80).
IRQ 22.
I/O at 0xe400 .
Bus 0, device 18, function 0:
Class 0200: PCI device 1106:3065 (rev 116).
IRQ 23.
Master Capable. Latency=64. Min Gnt=3.Max Lat=8.
I/O at 0xe800 .
Non-prefetchable 32 bit memory at 0xffaffc00 .
Bus 1, device 0, function 0:
Class 0300: PCI device 5333:8d04 (rev 0).
IRQ 16.
Master Capable. Latency=64. Min Gnt=4.Max Lat=255.
Non-prefetchable 32 bit memory at 0xff980000 .
Prefetchable 32 bit memory at 0xd0000000 .
驱动光盘里的有这样三个文件:
1)Linux_note.pdf
文件内容:22 April 2003 Dear Customer:
Please make sure you follow the installation instructions for both the serial and parallel
ports if the product you are trying to install has serial and parallel ports (products 9835,9735) Regards,sales
2)Linux_P.txt
文件内容:Installation Guide for PCI Parallel Ports
This installation guide describes the procedure to install the Nm9705CV, Nm9735CV, Nm9805CV, Nm9715CV, Nm9835CV, Nm9755CV PCI parallel ports in Linux platform.
Linux kernel provide a 'parport' code to support parallel port (/dev/lp0, /dev/lp1, /dev/lp2). This code provides the ability to share one port between multiple devices. And it is loadable when kernel is running.
The 'parport' code is split into two parts : generic (which deals with port sharing) and architecture-dependent eg. X86, SPARC. (which deals with actually using the port). Thus, please take the following steps to install 'parport' module!
Check the on-board parallel port's hardware resources
Most likely each motherboard has a built-in parallel port. And its hardware resources are settable with BIOS utility.
Enter the command more /proc/pci
The response is similar to the following
Bus 0, Device 11, function 0:
Serial controller : Unknown vendor Unknown device (rev 01).
Vendor id=9710, Device id=9705
Device id=9735
Device id=9805
Device id=9815
Device id=9835
Device id=9855
Medium devsel. Fast back-to-back capable. IRQ 11
Board with Nm9705CV part
I/O at 0xc000 printer port
0xc008 ECP/EPP config registers
Board with Nm9735CV part
I/O at 0xc000 not used
0xc008 not used
0xc010 printer port
0xc018 ECP/EPP config registers
Board with Nm9805CV part
I/O at 0xc000 printer port
I/O at 0xc400 ECP/EPP config registers
I/O at 0xc800 not used
I/O at 0xd000 not used
I/O at 0xd400 not used
I/O at 0xd800 not used
Board with Nm9715CV part
I/O at 0xc000 printer port 1
I/O at 0xc400 ECP/EPP config registers 1
I/O at 0xc800 printer port 2
I/O at 0xd000 ECP/EPP config registers 2
I/O at 0xd400 not used
I/O at 0xd800 not used
Board with Nm9835CV part
I/O at 0xc000 not used
I/O at 0xc400 not used
I/O at 0xc800 printer port
I/O at 0xd000 ECP/EPP config registers
I/O at 0xd400 not used
I/O at 0xd800 not used
Board with Nm9755CV part
I/O at 0xc000 printer port 1
I/O at 0xc400 ECP/EPP config registers 1
I/O at 0xc800 printer port 2
I/O at 0xd000 ECP/EPP config registers 2
I/O at 0xd400 not used
I/O at 0xd800 not used
Install 'parport' module
To load the generic 'parport' code
Type insmod parport.o
To load the architecture-dependent code to tell 'parport' code
insmod parport_pc.o io=0x378,0xc000,0xc800
irq=7, irq=11, none
or
insmod parport_pc.o io=0x378,0xc000,0xc800
irq=7,11,none
You have three PC-style ports, one at 0x378 with IRQ 7, one at
0xc000 with IRQ11, one at 0xc800 with no IRQ.
Check the attached printer device
Once the architecture-dependent part of the paraport code is loaded into the kernel. You could enter the following command
insmod parport_probe.o
To check any attached devices and log a message similar to
parport0: Printer, epson
Then /dev/lp0, /dev/lp1 and /dev/lp2 are ready for service
3)Linux_S.txt
文件内容:This installation guide describes the procedures to install NetMos Technology Nm9735CV, Nm9745CV, Nm9835CV, Nm9845CV PCI serial ports in Linux platform.
Linux Platform
l Operating System : RedHat, SuSe
l Terminal Emulation AP : minicom
l Internet Dialer : Kppp
Find the available serial ports
Since Linux only support 4 serial ports (ttyS0, ttyS1, ttyS2, ttyS3) under the default condition. Most likely, ttyS0 & ttyS1 are supported by mother board's built-in serial controllers and ttyS2 & ttyS3 are free for additional I/O card.
Serial ports could be checked by the following commands.
setserial /dev/ttyS0 -a (COM-1)
setserial /dev/ttyS1 -a (COM-2)
setserial /dev/ttyS2 -a (COM-3)
setserial /dev/ttyS3 -a (COM-4)
If COM-1 is used by mouse, the response is similar to
/dev/ttyS0 : Device or resource busy
If the COM-1 does not attach any device, the response is similar to
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x3f8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
In case ttyS2 (COM-3) is free, the response for command setserial /dev/ttyS2 -a is shown below.
/dev/ttyS2, Line 2, UART: unknown, Port: 0x3e8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
Find the PCI card resource ( I/O port address & IRQ) for the serial ports
Enter the command more /proc/pci
The response is similar to the following
Bus 0, Device 11, function 0:
Serial controller : Unknown vendor Unknown device (rev 01).
Vendor id=9710, Device id=9735
Device id=9745
Device id=9820
Device id=9825
Device id=9835
Device id=9845
Medium devsel. Fast back-to-back capable. IRQ 11
Board with Nm9735CV part
I/O at 0xc000 serial port 1
0xc008 serial port 2
Board with Nm9745CV part
I/O at 0xc000 serial port 1
0xc008 serial port 2
0xc010 device 1
0xc018 device 2
0xc020 device 3
0xc028 device 4
Board with Nm9820CV part
I/O at 0xc000 serial port 1
I/O at 0xc400 not used
I/O at 0xc800 not used
I/O at 0xd000 not used
I/O at 0xd400 not used
I/O at 0xd800 not used
Board with Nm9825CV part
I/O at 0xc000 serial port 1
Board with Nm9835CV part
I/O at 0xc000 serial port 1
I/O at 0xc400 serial port 2
I/O at 0xc800 not used
I/O at 0xd000 not used
I/O at 0xd400 not used
I/O at 0xd800 not used
Board with Nm9845CV part
I/O at 0xc000 serial port 1
I/O at 0xc400 serial port 2
I/O at 0xc800 device 1
I/O at 0xd000 device 2
I/O at 0xd400 device 3
I/O at 0xd800 device 4
Board with Nm9755CV part
I/O at 0xc000 not used
I/O at 0xc400 not used
I/O at 0xc800 device 1
I/O at 0xd000 device 2
I/O at 0xd400 device 3
I/O at 0xd800 device 4
From the /proc/pci file, it is possible to find the PCI card's I/O port address and IRQ. Especially, the NetMos parts always shows
Vendor id=9710, Device id=9735
Device id=9745
Device id=9820
Device id=9825
Device id=9835
Device id=9845
Configure the parameters for ttyS2 or ttyS3
Enter (if ttyS2 or ttyS3 are free)
setserial /dev/ttyS2 port 0xc000 UART 16550A
irq 11 Baud_base 115200
setserial /dev/ttyS3 port 0xc008 UART 16550A
irq 11 Baud_base 115200
Check the setting for ttyS2 or ttyS3
Type setserial /dev/ttyS2 -a
/dev/ttyS2, Line 2, UART: 16550A, Port: 0xc000, irq: 11
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
The ttyS2 or ttyS3 are ready for application
页:
[1]