[Sequanux-ml] problème driver carte parallèle

Fred D. freddy.krouger at laposte.net
Mar 8 Déc 18:39:31 CET 2009


Peut être que vous avez déjà reçu ce mail... si c'est le cas, désolé !!!
mais au moment de l'envoi, j'ai eu un petit souci, je me permet donc de le
renvoyer....

Me revoici avec mon souci de carte parallèle... avec un peu plus de
précision.

C'est une carte pci express avec 2 port serie et 1 parallèle
http://www.delock.com/produkte/gruppen/pci-express/Delock_Carte_PCI_Express_2_x_srie_1x_parallle_89129.html

Je joins la doc pour l'install du port serie et du port parallèle... en
précisant que ces commandes n'ont pas fonctionnées.

un petit lspci -v et voici le résultat.

02:00.0 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
(prog-if 02)
    Subsystem: Device a000:1000
    Flags: fast devsel, IRQ 16
    I/O ports at c480 [size=8]
    Memory at fbcfb000 (32-bit, non-prefetchable) [size=4K]
    Memory at fbcfa000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel modules: prl_vtdhook

02:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
(prog-if 02)
    Subsystem: Device a000:1000
    Flags: fast devsel, IRQ 17
    I/O ports at c800 [size=8]
    Memory at fbcfd000 (32-bit, non-prefetchable) [size=4K]
    Memory at fbcfc000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel modules: prl_vtdhook

02:00.2 Parallel controller: NetMos Technology PCIe 9901 Multi-I/O
Controller (prog-if 03)
    Subsystem: Device a000:2000
    Flags: bus master, fast devsel, latency 0, IRQ 11
    I/O ports at cc00 [size=8]
    I/O ports at c880 [size=4]
    Memory at fbcff000 (32-bit, non-prefetchable) [size=4K]
    Memory at fbcfe000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel modules: prl_vtdhook


et un petit lsmod...

guest at ncg-desktop:~$ lsmod |grep ppdev
ppdev                  15620  0
parport                42220  3 ppdev,parport_pc,lp

Je précise bien sûr, que j'ai déjà pas mal  fouiné, mais sans succes....
Evidement, cette carte fonctionne parfaitement en dualboot sous vista...
Sans cette carte, impossible de faire tourner ce pc dans un monde libre...
:)
Merci beaucoup pour votre aide.

Fr at d
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://sequanux.org/pipermail/sequanux-ml/attachments/20091208/42b3070e/attachment.htm>
-------------- section suivante --------------
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 [0xc001]	printer port
			       0xc008 [0xc009]	ECP/EPP config registers

			Board with Nm9735CV part
			I/O at 0xc000 [0xc001]	not used
			       0xc008 [0xc009]	not used
			       0xc010 [0xc011]	printer port
			       0xc018 [0xc019]	ECP/EPP config registers
			
			Board with Nm9805CV part
			I/O at 0xc000 [0xc001]	printer port
			I/O at 0xc400 [0xc401]	ECP/EPP config registers
			I/O at 0xc800 [0xc801]	not used
			I/O at 0xd000 [0xd001]	not used
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	not used

			Board with Nm9715CV part
			I/O at 0xc000 [0xc001]	printer port 1
			I/O at 0xc400 [0xc401]	ECP/EPP config registers 1
			I/O at 0xc800 [0xc801]	printer port 2
			I/O at 0xd000 [0xd001]	ECP/EPP config registers 2
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	not used

			Board with Nm9835CV part
			I/O at 0xc000 [0xc001]	not used
			I/O at 0xc400 [0xc401]	not used
			I/O at 0xc800 [0xc801]	printer port
			I/O at 0xd000 [0xd001]	ECP/EPP config registers
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	not used

			Board with Nm9755CV part
			I/O at 0xc000 [0xc001]	printer port 1
			I/O at 0xc400 [0xc401]	ECP/EPP config registers 1
			I/O at 0xc800 [0xc801]	printer port 2
			I/O at 0xd000 [0xd001]	ECP/EPP config registers 2
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	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 [optional]

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
-------------- section suivante --------------
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 [0xc001]	serial port 1
			       0xc008 [0xc009]	serial port 2

			Board with Nm9745CV part
			I/O at 0xc000 [0xc001]	serial port 1
			       0xc008 [0xc009]	serial port 2
			       0xc010 [0xc011]	device 1
			       0xc018 [0xc019]	device 2
			       0xc020 [0xc021]	device 3
			       0xc028 [0xc029]	device 4

			Board with Nm9820CV part
			I/O at 0xc000 [0xc001]	serial port 1
			I/O at 0xc400 [0xc401]	not used
			I/O at 0xc800 [0xc801]	not used
			I/O at 0xd000 [0xd001]	not used
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	not used

			Board with Nm9825CV part
			I/O at 0xc000 [0xc001]	serial port 1
				
			Board with Nm9835CV part
			I/O at 0xc000 [0xc001]	serial port 1
			I/O at 0xc400 [0xc401]	serial port 2
			I/O at 0xc800 [0xc801]	not used
			I/O at 0xd000 [0xd001]	not used
			I/O at 0xd400 [0xd401]	not used
			I/O at 0xd800 [0xd801]	not used

			Board with Nm9845CV part
			I/O at 0xc000 [0xc001]	serial port 1
			I/O at 0xc400 [0xc401]	serial port 2
			I/O at 0xc800 [0xc801]	device 1
			I/O at 0xd000 [0xd001]	device 2
			I/O at 0xd400 [0xd401]	device 3
			I/O at 0xd800 [0xd801]	device 4

			Board with Nm9755CV part
			I/O at 0xc000 [0xc001]	not used
			I/O at 0xc400 [0xc401]	not used
			I/O at 0xc800 [0xc801]	device 1
			I/O at 0xd000 [0xd001]	device 2
			I/O at 0xd400 [0xd401]	device 3
			I/O at 0xd800 [0xd801]	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


Plus d'informations sur la liste de diffusion Sequanux-ml