Subject: support for unconfigured PCI devices, esp. SD card reader
To: None <port-i386@NetBSD.org>
From: Anne Bennett <anne@porcupine.montreal.qc.ca>
List: port-i386
Date: 07/29/2007 18:10:35
Hi, all.

I have an HP Pavilion a1620n (Intel-based), and I have not yet managed
to get all of its PCI devices completely recognized.  I tried updating my
kernel sources to the latest NetBSD 3.1 with:

   cd /usr/src/sys && cvs -q update -dP -r netbsd-3-1

(and of course re-creating the kernel), but the command didn't patch
/usr/src/sys/dev/pci/{pcidevs,pcidevs.h,pcidevs_data.h}, nor any
/usr/src/sys/dev/pci/devname.c files, which I would expect to be needed to
recognize new devices.  The ones still giving me a bit of a hard time are:

   (1) unconfigured at pci1 ... Conexant product 0x2f20 (card reader?)
   (2) vga1 at pci0 ... Intel product 0x2772  [graphics card]
   (3) pcib0 at pci0 ... Intel product 0x27b1 (has sub-devices, anyway)
   (4) unconfigured at pci0 ... Intel SMBus Controller 8201GB
   (5) fw at fwohci0 not configured

"2" and "3" seem to work despite the lack of a "name", and I don't
even know what an SMBus Controller does, so that one is probably not
urgent either.  "5" probably needs an entry in the kernel config file
(maybe "fw* at fwohci?") but I don't see a handy example in the sample
kernel configs.

Most importantly, though, I badly want to be able to use my multiple
card reader (MMC/SD, Compact Flash, and so on), which I suspect might
be the Conexant product 0x2f20 ("miscellaneous communications).  Has
that support been added, and if so, would it be possible for me to
include it in my 3.1 kernel, and if so, which files should I update?

(Kernel boot message appended.)

Anne Bennett.

-----------------------------------------------------------------------
2007 Jul 29 18:00:23 quill /netbsd:

NetBSD 3.1.1_PATCH (QUILL_I386) #5: Sun Jul 29 17:43:22 EDT 2007
anne@quill.porcupine.montreal.qc.ca:/usr/src/sys/arch/i386/compile/QUILL_I386
total memory = 2038 MB
avail memory = 1986 MB
BIOS32 rev. 0 found at 0xf1e30
mainbus0 (root)
mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel (686-class), 3001.01 MHz, id 0xf65
cpu0: features bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features bfebfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features bfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,SBF>
cpu0: features2 e49d<SSE3,MONITOR,DS-CPL,EST,CID,xTPR>
cpu0: features3 20100000<EM64T>
cpu0: "Intel(R) Pentium(R) D CPU 3.00GHz"
cpu0: I-cache 12K uOp cache 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 4K/4M: 128 entries
cpu0: DTLB 4K/4M: 64 entries
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep (1324 mV)  - unknown CPU or operating point.
cpu0: calibrating local timer
cpu0: apic clock running at 200 MHz
cpu0: 64 page colors
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: Intel (686-class), 3000.87 MHz, id 0xf65
cpu1: features bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features bfebfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu1: features bfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,SBF>
cpu1: features2 e49d<SSE3,MONITOR,DS-CPL,EST,CID,xTPR>
cpu1: features3 20100000<EM64T>
cpu1: "Intel(R) Pentium(R) D CPU 3.00GHz"
cpu1: I-cache 12K uOp cache 8-way
cpu1: L2 cache 2 MB 64B/line 8-way
cpu1: ITLB 4K/4M: 128 entries
cpu1: DTLB 4K/4M: 64 entries
cpu1: using thermal monitor 1
cpu1: Enhanced SpeedStep (1324 mV)  - unknown CPU or operating point.
mpbios: bus 0 is type PCI 
mpbios: bus 1 is type PCI 
mpbios: bus 2 is type ISA 
ioapic0 at mainbus0 apid 4 (I/O APIC)
ioapic0: pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0
ioapic0: remapped to apic 4
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82945G/P Memory Controller Hub (rev. 0x02)
pchb0: unable to read from random number generator.
vga1 at pci0 dev 2 function 0: Intel product 0x2772 (rev. 0x02)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 16 (irq 5)
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 1)
azalia0: host: High Definition Audio rev. 1.0
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x01)
uhci0: interrupting at ioapic0 pin 23 (irq 4)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x01)
uhci1: interrupting at ioapic0 pin 19 (irq 11)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x01)
uhci2: interrupting at ioapic0 pin 18 (irq 9)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x01)
uhci3: interrupting at ioapic0 pin 16 (irq 5)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x01)
ehci0: interrupting at ioapic0 pin 23 (irq 4)
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: single transaction translator
uhub4: 8 ports with 8 removable, self powered
ppb0 at pci0 dev 30 function 0: Intel 82801BA Hub-PCI Bridge (rev. 0xe1)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
fwohci0 at pci1 dev 1 function 0: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0xc0)
fwohci0: interrupting at ioapic0 pin 20 (irq 10)
fwohci0: OHCI 1.0, 00:11:d8:00:00:f3:a9:66, 400Mb/s, 2048 max_rec, 4 ir_ctx, 8 it_ctx
Conexant Systems product 0x2f20 (miscellaneous communications) at pci1 dev 5 function 0 not configured
fxp0 at pci1 dev 8 function 0: Intel 82801GB/GR (ICH7) Network Controller, rev 1
fxp0: interrupting at ioapic0 pin 20 (irq 10)
fxp0: Ethernet address 00:18:f3:ad:85:bd
inphy0 at fxp0 phy 1: i82562ET 10/100 media interface, rev. 0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pcib0 at pci0 dev 31 function 0
pcib0: Intel product 0x27b0 (rev. 0x01)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
piixide1 at pci0 dev 31 function 2
piixide1: Intel 82801GB/GR Serial ATA/Raid Controller (ICH7) (rev. 0x01)
piixide1: bus-master DMA support present
piixide1: primary channel configured to native-PCI mode
piixide1: using ioapic0 pin 19 (irq 11) for native-PCI interrupt
atabus1 at piixide1 channel 0
piixide1: secondary channel configured to native-PCI mode
atabus2 at piixide1 channel 1
Intel 82801GB/GR SMBus Controller (SMBus serial bus, revision 0x01) at pci0 dev 31 function 3 not configured
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
spkr0 at pcppi0
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
ioapic0: enabling
azalia0: codec[2]: 0x10ec/0x0888 (rev. 0.1)
azalia0: codec[2]: High Definition Audio rev. 1.0
azalia0: playback: max channels=8, encodings=1<PCM>
azalia0: playback: PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2, encodings=1<PCM>
azalia0: recording: PCM formats=60160<20bit,16bit,96kHz,48kHz,44.1kHz>
audio0 at azalia0: full duplex, independent
Kernelized RAIDframe activated
fw at fwohci0 not configured
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 0: <TSSTcorpCD/DVDW TS-H652M, , 0414> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
ehci0: handing over full speed device on port 1 to uhci0
uhub4: port 1, device disappeared after reset
ehci0: handing over low speed device on port 3 to uhci1
uhub4: port 3, device disappeared after reset
ulpt0 at uhub0 port 1 configuration 1 interface 1
ulpt0: HP PSC 1500 series, rev 2.00/1.00, addr 2, iclass 7/1
ulpt0: using bi-directional mode
uhidev0 at uhub1 port 1 configuration 1 interface 0
uhidev0: American Power Conversion Back-UPS BR  800 FW:9.o2 .D USB FW:o2, rev 1.10/1.06, addr 2, iclass 3/0
wd0 at atabus1 drive 0: <SAMSUNG SP2504C>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 232 GB, 484521 cyl, 16 head, 63 sec, 512 bytes/sect x 488397168 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd0(piixide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd1 at atabus2 drive 0: <ST3250620AS>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 232 GB, 484521 cyl, 16 head, 63 sec, 512 bytes/sect x 488397168 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(piixide1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
uhidev0: 98 report ids
uhid0 at uhidev0 reportid 1: input=0, output=0, feature=1
uhid1 at uhidev0 reportid 2: input=0, output=0, feature=1
uhid2 at uhidev0 reportid 3: input=0, output=0, feature=1
uhid3 at uhidev0 reportid 4: input=0, output=0, feature=1
uhid4 at uhidev0 reportid 5: input=0, output=0, feature=1
uhid5 at uhidev0 reportid 6: input=0, output=0, feature=2
uhid6 at uhidev0 reportid 7: input=2, output=0, feature=2
uhid7 at uhidev0 reportid 8: input=0, output=0, feature=2
uhid8 at uhidev0 reportid 9: input=0, output=0, feature=2
uhid9 at uhidev0 reportid 10: input=0, output=0, feature=2
uhid10 at uhidev0 reportid 11: input=0, output=0, feature=2
uhid11 at uhidev0 reportid 12: input=1, output=0, feature=1
uhid12 at uhidev0 reportid 13: input=2, output=0, feature=2
uhid13 at uhidev0 reportid 14: input=0, output=0, feature=2
uhid14 at uhidev0 reportid 15: input=0, output=0, feature=1
uhid15 at uhidev0 reportid 16: input=0, output=0, feature=2
uhid16 at uhidev0 reportid 17: input=0, output=0, feature=1
uhid17 at uhidev0 reportid 18: input=0, output=0, feature=2
uhid18 at uhidev0 reportid 19: input=0, output=0, feature=3
uhid19 at uhidev0 reportid 20: input=0, output=0, feature=1
uhid20 at uhidev0 reportid 21: input=0, output=0, feature=2
uhid21 at uhidev0 reportid 22: input=1, output=0, feature=1
uhid22 at uhidev0 reportid 23: input=0, output=0, feature=1
uhid23 at uhidev0 reportid 24: input=0, output=0, feature=2
uhid24 at uhidev0 reportid 25: input=0, output=0, feature=2
uhid25 at uhidev0 reportid 26: input=0, output=0, feature=2
uhid26 at uhidev0 reportid 27: input=0, output=0, feature=1
uhid27 at uhidev0 reportid 28: input=0, output=0, feature=1
uhid28 at uhidev0 reportid 29: input=0, output=0, feature=2
uhid29 at uhidev0 reportid 30: input=0, output=0, feature=2
uhid30 at uhidev0 reportid 31: input=0, output=0, feature=2
uhid31 at uhidev0 reportid 32: input=0, output=0, feature=4
uhid32 at uhidev0 reportid 33: input=0, output=0, feature=1
uhid33 at uhidev0 reportid 34: input=0, output=0, feature=1
uhid34 at uhidev0 reportid 35: input=0, output=0, feature=2
uhid35 at uhidev0 reportid 36: input=0, output=0, feature=2
uhid36 at uhidev0 reportid 37: input=0, output=0, feature=2
uhid37 at uhidev0 reportid 38: input=0, output=0, feature=2
uhid38 at uhidev0 reportid 39: input=0, output=0, feature=2
uhid39 at uhidev0 reportid 40: input=0, output=0, feature=2
uhid40 at uhidev0 reportid 41: input=0, output=0, feature=3
uhid41 at uhidev0 reportid 42: input=0, output=0, feature=2
uhid42 at uhidev0 reportid 43: input=0, output=0, feature=2
uhid43 at uhidev0 reportid 44: input=0, output=0, feature=2
uhid44 at uhidev0 reportid 45: input=0, output=0, feature=2
uhid45 at uhidev0 reportid 46: input=0, output=0, feature=1
uhid46 at uhidev0 reportid 47: input=0, output=0, feature=1
uhid47 at uhidev0 reportid 48: input=0, output=0, feature=1
uhid48 at uhidev0 reportid 49: input=0, output=0, feature=1
uhid49 at uhidev0 reportid 50: input=0, output=0, feature=1
uhid50 at uhidev0 reportid 51: input=2, output=0, feature=2
uhid51 at uhidev0 reportid 52: input=0, output=0, feature=1
uhid52 at uhidev0 reportid 53: input=0, output=0, feature=2
uhid53 at uhidev0 reportid 54: input=0, output=0, feature=1
uhid54 at uhidev0 reportid 55: input=0, output=0, feature=1
uhid55 at uhidev0 reportid 62: input=0, output=0, feature=4
uhid56 at uhidev0 reportid 63: input=0, output=0, feature=4
uhid57 at uhidev0 reportid 64: input=0, output=0, feature=1
uhid58 at uhidev0 reportid 65: input=0, output=0, feature=2
uhid59 at uhidev0 reportid 66: input=0, output=0, feature=1
uhid60 at uhidev0 reportid 69: input=0, output=0, feature=3
uhid61 at uhidev0 reportid 70: input=0, output=0, feature=1
uhid62 at uhidev0 reportid 71: input=0, output=0, feature=1
uhid63 at uhidev0 reportid 72: input=0, output=0, feature=4
uhid64 at uhidev0 reportid 81: input=0, output=0, feature=1
uhid65 at uhidev0 reportid 82: input=0, output=0, feature=2
uhid66 at uhidev0 reportid 96: input=0, output=0, feature=2
uhid67 at uhidev0 reportid 97: input=0, output=0, feature=1
uhid68 at uhidev0 reportid 98: input=0, output=0, feature=4
raid0: RAID Level 1
raid0: Components: /dev/wd0f /dev/wd1f
raid0: Total Sectors: 480204016 (234474 MB)
boot device: wd1
root on wd1a dumps on wd1b
root file system type: ffs
cpu1: CPU 1 running
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
-----------------------------------------------------------------------