Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 May 2003 23:04:28 +0900
From:      Jason Stubbs <jason.stubbs@softhome.net>
To:        freebsd-mobile@freebsd.org
Subject:   pccardd forces irq 9 on pcmcia modem
Message-ID:  <200305222257.53472.jason.stubbs@softhome.net>

next in thread | raw e-mail | index | archive | help
My apologies if this has already been received by the list, but there was some 
problem with my subscription.

I found some information after attempting to post this however. It basically 
said that the behavious below was by design as freebsd supports irq sharing. 
Also, after closer analysis of dmesg, I think the pcm device may be on irq 3. 
Am I correct? Will specifying a different irq in the kernel configuration 
force it to a different irq (hopefully freeing it up for use by the modem)?

----------  Forwarded Message  ----------

Subject: pccardd forces irq 9 on pcmcia modem
Date: Thursday 22 May 2003 13:26
From: Jason Stubbs <jason.stubbs@softhome.net>
To: freebsd-mobile@freebsd.org

Hello,

I'm having trouble with a pcmcia modem. It is actually detected and set up as
a "generic serial" but it runs very slowly. I should be able to get about
3.4k/s but can only get about 1k/s. I had the same trouble with Linux but was
able to fix it; I found that the irq was being set to 0 and setting it to 3
made everything run perfectly. Under FreeBSD, I tried setting up
/etc/pccard.conf as follows but it still forces it to irq 9:

irq 3
card "HONDA ELECTRON CO.,LTD" "AH-H401C"
	config 0x9 "sio" 3

As you can see from the output of dmesg below, there is no other device on
 irq 3. I also have another (lesser) problem; no pccardd entries appear in
 /var/log/messages. If I run pccardd -d, they all show up fine on the
 console. I tried uncommenting the "*.* /var/log/all.log" line in
 /etc/syslog.conf, but they don't show up there either.

The output of pccardc dumpcis is as follows:

Configuration data for card in slot 1
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  00 00 ff
	Common memory device information:
		Device number 1, type No device, WPS = OFF
		Speed = No speed, Memory block size = 512b, 1 units
Tuple #2, code = 0x15 (Version 1 info), length = 35
    000:  04 01 48 4f 4e 44 41 20 45 4c 45 43 54 52 4f 4e
    010:  20 43 4f 2e 2c 4c 54 44 00 41 48 2d 48 34 30 31
    020:  43 00 ff
	Version = 4.1, Manuf = [HONDA ELECTRON CO.,LTD], card vers = [AH-H401C]
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  36 c0 1a 00
	PCMCIA ID = 0xc036, OEM ID = 0x1a
Tuple #4, code = 0x21 (Functional ID), length = 2
    000:  02 01
	Serial port/modem - POST initialize
Tuple #5, code = 0x22 (Functional EXT), length = 4
    000:  00 02 0f 5c
	Serial interface extension:
		16550 UART, Parity - Space,Mark,Odd,Even
		Data bit - 7bit,8bit, Stop bit - 1bit,2bit
Tuple #6, code = 0x22 (Functional EXT), length = 9
    000:  05 1f 0f 00 10 00 00 10 00
	Data modem interface capabilities:
Tuple #7, code = 0x22 (Functional EXT), length = 9
    000:  06 1f 0f 00 10 00 00 10 00
	Fax/modem interface capabilities:
Tuple #8, code = 0x22 (Functional EXT), length = 12
    000:  02 06 00 3b 0c 03 03 0f 02 00 00 00
	Data modem services available:
Tuple #9, code = 0x22 (Functional EXT), length = 8
    000:  13 06 00 0f 00 02 00 00
	Fax1/modem services available:
Tuple #10, code = 0x22 (Functional EXT), length = 8
    000:  23 06 00 0f 00 02 00 00
	Fax2/modem services available:
Tuple #11, code = 0x1a (Configuration map), length = 5
    000:  01 2d 00 04 13
	Reg len = 2, config register addr = 0x400, last config = 0x2d
	Registers: XX--X---
Tuple #12, code = 0x1b (Configuration entry), length = 17
    000:  c9 01 99 17 55 4d 5d 2e ab 60 f8 02 07 30 bc 86
    010:  00
	Config index = 0x9(default)
	Interface byte = 0x1 (I/O)
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Max current average over 1 second: 2.5 x 100mA
	Card decodes 11 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x2f8 block length = 0x8
		IRQ modes: Level
		IRQs:  2 3 4 5 7 9 10 15
	Max twin cards = 0
	Misc attr:
Tuple #13, code = 0x1b (Configuration entry), length = 10
    000:  09 01 17 b5 1e b5 0e b5 2e 2e
	Config index = 0x9
	Vcc pwr:
		Nominal operating supply voltage: 3 x 1V, ext = 0x1e
		Minimum operating supply voltage: 3 x 1V, ext = 0xe
		Maximum operating supply voltage: 3 x 1V, ext = 0x2e
		Max current average over 1 second: 2.5 x 100mA
Tuple #14, code = 0x1b (Configuration entry), length = 17
    000:  c8 01 99 17 55 4d 5d 2e ab 60 f8 03 07 30 bc 86
    010:  00
	Config index = 0x8(default)
	Interface byte = 0x1 (I/O)
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Max current average over 1 second: 2.5 x 100mA
	Card decodes 11 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x3f8 block length = 0x8
		IRQ modes: Level
		IRQs:  2 3 4 5 7 9 10 15
	Max twin cards = 0
	Misc attr:
Tuple #15, code = 0x1b (Configuration entry), length = 10
    000:  08 01 17 b5 1e b5 0e b5 2e 2e
	Config index = 0x8
	Vcc pwr:
		Nominal operating supply voltage: 3 x 1V, ext = 0x1e
		Minimum operating supply voltage: 3 x 1V, ext = 0xe
		Maximum operating supply voltage: 3 x 1V, ext = 0x2e
		Max current average over 1 second: 2.5 x 100mA
Tuple #16, code = 0x1b (Configuration entry), length = 17
    000:  ca 01 99 17 55 4d 5d 2e ab 60 e8 03 07 30 bc 86
    010:  00
	Config index = 0xa(default)
	Interface byte = 0x1 (I/O)
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Max current average over 1 second: 2.5 x 100mA
	Card decodes 11 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x3e8 block length = 0x8
		IRQ modes: Level
		IRQs:  2 3 4 5 7 9 10 15
	Max twin cards = 0
	Misc attr:
Tuple #17, code = 0x1b (Configuration entry), length = 10
    000:  0a 01 17 b5 1e b5 0e b5 2e 2e
	Config index = 0xa
	Vcc pwr:
		Nominal operating supply voltage: 3 x 1V, ext = 0x1e
		Minimum operating supply voltage: 3 x 1V, ext = 0xe
		Maximum operating supply voltage: 3 x 1V, ext = 0x2e
		Max current average over 1 second: 2.5 x 100mA
Tuple #18, code = 0x1b (Configuration entry), length = 17
    000:  cb 01 99 17 55 4d 5d 2e ab 60 e8 02 07 30 bc 86
    010:  00
	Config index = 0xb(default)
	Interface byte = 0x1 (I/O)
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Max current average over 1 second: 2.5 x 100mA
	Card decodes 11 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x2e8 block length = 0x8
		IRQ modes: Level
		IRQs:  2 3 4 5 7 9 10 15
	Max twin cards = 0
	Misc attr:
Tuple #19, code = 0x1b (Configuration entry), length = 10
    000:  0b 01 17 b5 1e b5 0e b5 2e 2e
	Config index = 0xb
	Vcc pwr:
		Nominal operating supply voltage: 3 x 1V, ext = 0x1e
		Minimum operating supply voltage: 3 x 1V, ext = 0xe
		Maximum operating supply voltage: 3 x 1V, ext = 0x2e
		Max current average over 1 second: 2.5 x 100mA
Tuple #20, code = 0x1b (Configuration entry), length = 10
    000:  2d 09 17 55 4d 5d 2e a3 40 07
	Config index = 0x2d
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Max current average over 1 second: 2.5 x 100mA
	Card decodes 3 address lines, 8 Bit I/O only
		I/O address # 1:  block length = 0x8
Tuple #21, code = 0x1b (Configuration entry), length = 10
    000:  2d 01 17 b5 1e b5 0e b5 2e 2e
	Config index = 0x2d
	Vcc pwr:
		Nominal operating supply voltage: 3 x 1V, ext = 0x1e
		Minimum operating supply voltage: 3 x 1V, ext = 0xe
		Maximum operating supply voltage: 3 x 1V, ext = 0x2e
		Max current average over 1 second: 2.5 x 100mA
Tuple #22, code = 0x14 (No link), length = 0
Tuple #23, code = 0xff (Terminator), length = 0
2 slots found

The output of dmesg is as follows:

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.8-STABLE #1: Thu May 22 10:37:15 JST 2003
    root@localhost:/usr/obj/usr/src/sys/MYKERNEL
Timecounter "i8254"  frequency 1193175 Hz
CPU: mobile AMD Athlon(tm) XP 1800+   (1533.38-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x681  Stepping = 1

Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,P
AT,PSE36,MMX,FXSR,SSE> AMD Features=0xc0480000<MP,AMIE,DSP,3DNow!>
real memory  = 267321344 (261056K bytes)
avail memory = 255954944 (249956K bytes)
Preloaded elf kernel "kernel" at 0xc0410000.
VESA: v3.0, 16384k memory, flags:0x1, mode table:0xc0392302 (1000022)
VESA: NVidia
netsmb_dev: loaded
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 6 entries at 0xc00fdf60
apm0: <APM BIOS> on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
agp0: <VIA Generic host to PCI bridge> mem 0xe8000000-0xefffffff at device
 0.0 on pci0
pcib1: <PCI to PCI bridge (vendor=1106 device=b099)> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <NVidia model 0175 graphics accelerator> at 0.0 irq 11
rl0: <RealTek 8139 10/100BaseTX> port 0x1400-0x14ff mem 0xe0000000-0xe00001ff
irq 9 at device 12.0 on pci0
rl0: Ethernet address: 08:00:46:95:6d:53
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci_cfgintr_linked: linked (1) to hard-routed irq 9
pci_cfgintr: 0:14 INTA routed to irq 9
pcic0: <Ricoh RL5C476 PCI-CardBus Bridge> irq 9 at device 14.0 on pci0
pcic0: PCI Memory allocated: 0x88000000
pccard0: <PC Card 16-bit bus (classic)> on pcic0
pci_cfgintr_linked: linked (2) to hard-routed irq 9
pci_cfgintr: 0:14 INTB routed to irq 9
pcic1: <Ricoh RL5C476 PCI-CardBus Bridge> irq 9 at device 14.1 on pci0
pcic1: PCI Memory allocated: 0x88001000
pccard1: <PC Card 16-bit bus (classic)> on pcic1
pci0: <unknown card> (vendor=0x1180, dev=0x0552) at 14.2
uhci0: <VIA 83C572 USB controller> port 0x1020-0x103f irq 9 at device 16.0 on
pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0x1040-0x105f irq 0 at device 16.1 on
pci0
pci_cfgintr_search: linked (0) to configured irq 9 at 0:12:0
pci_cfgintr: 0:16 INTB routed to irq 9
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0x1060-0x107f irq 0 at device 16.2 on
pci0
pci_cfgintr_search: linked (0) to configured irq 9 at 0:12:0
pci_cfgintr: 0:16 INTC routed to irq 9
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
pci0: <USB controller> at 16.3
isab0: <PCI to ISA bridge (vendor=1106 device=3177)> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8235 ATA133 controller> port 0x1000-0x100f irq 0 at device 17.1
on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pcm0: <VIA VT8235> port 0x1800-0x18ff at device 17.5 on pci0
pci_cfgintr_search: linked (3) to configured irq 9 at 0:14:1
pci_cfgintr: 0:17 INTC routed to irq 9
pcm0: <unknown ac97 codec> (id=0x41445372)
chip0: <VIA 82C686 AC97 Modem> port 0x1c00-0x1cff at device 17.6 on pci0
orm0: <Option ROMs> at iomem 0xdc000-0xdffff,0xe0000-0xe3fff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model GlidePoint, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 1/0/0 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
pcfclock0: <PCF-1.0> on ppbus0
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <PNP0c02> can't assign resources
unknown: <PNP0c02> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown: <PNP0401> can't assign resources
ad0: 28615MB <FUJITSU MHS2030AT> [58140/16/63] at ata0-master UDMA100
acd0: CD-RW <SONY CD-RW/DVD-ROM CRX810E> at ata1-master PIO4
Mounting root from ufs:/dev/ad0s2a
pccard: card inserted, slot 1
sio1 at port 0x2f8-0x2ff irq 9 flags 0x40000 slot 1 on pccard1
sio1: type 16550A
sio1: unable to activate interrupt in fast mode - using normal mode

Any help would be greatly appreciated.

Regards,
Jason Stubbs

-------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305222257.53472.jason.stubbs>