New nfpm.c driver available for testing
Artemiev Igor
ai at bmc.brk.ru
Mon Dec 19 22:12:36 PST 2005
I've recompiled your nfm with CFLAGS+=-DDEBUG.
ai at home$sudo ./smbtest /dev/smb0
found slave device 8
found slave device 80
found slave device 82
ai at home$sudo ./smbtest /dev/smb1
found slave device 8
found slave device 45
found slave device 55
found slave device 72
found slave device 73
found slave device 97
found slave device 127
smbtest gives me only a garbage. When I tried mbmon without -
DSMBUS_IOCTL, it worked with SMBus through the /dev/io and "detected"
slave address for the first smb controller as 0x5a
Then I've run mbmon -A -d.
It didn't find any sensors, but here is the driver's debug message:
Dec 19 22:17:57 home kernel: nfpm: STS=0x10
Dec 19 22:17:57 home kernel: nfpm: READB from 0x10, cmd=0x40, byte=0x0,
error=0x 4
Dec 19 22:17:57 home kernel: nfpm: STS=0x10
Dec 19 22:17:57 home kernel: nfpm: READB from 0x10, cmd=0x48, byte=0x0,
error=0x 4
Dec 19 22:17:57 home kernel: nfpm: STS=0x10
Dec 19 22:17:57 home kernel: nfpm: READB from 0x12, cmd=0x0, byte=0x0,
error=0x4 Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x12, cmd=0x1, byte=0x0,
error=0x4 Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x12, cmd=0x20, byte=0x0,
error=0x 4
Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x12, cmd=0x40, byte=0x0,
error=0x 4
Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x12, cmd=0x48, byte=0x0,
error=0x 4
Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x14, cmd=0x0, byte=0x0,
error=0x4 Dec 19 22:17:58 home kernel: nfpm: STS=0x10
Dec 19 22:17:58 home kernel: nfpm: READB from 0x14, cmd=0x1, byte=0x0,
error=0x4 Dec 19 22:17:59 home kernel: nfpm: STS=0x10
Dec 19 22:17:59 home kernel: nfpm: READB from 0x14, cmd=0x20, byte=0x0,
error=0x4
Dec 19 22:17:59 home kernel: nfpm: STS=0x10
Dec 19 22:17:59 home kernel: nfpm: READB from 0x14, cmd=0x40, byte=0x0,
error=0x4
Well, It's a "Device Address Not Acknowledged" error. If I shift the
slave address for reading, it works, and status register contains 0x80.
Yet, for writing I still have an 0x10. The documentation for AMD-8111
controller explains this by not-reset operational status before the
controller checks the address.
Btw, why in nfpm_wait you're polling SMB_PRTCL instead of SMB_STS?
Here is pciconf -vl and devinfo -rv after kldload nfpm:
agp0 at pci0:0:0: class=0x060000 card=0x80ac1043 chip=0x01e010de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 AGP Controller'
class = bridge
subclass = HOST-PCI
none0 at pci0:0:1: class=0x050000 card=0x80ac1043 chip=0x01eb10de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 Memory Controller 1'
class = memory
subclass = RAM
none1 at pci0:0:2: class=0x050000 card=0x80ac1043 chip=0x01ee10de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 Memory Controller 4'
class = memory
subclass = RAM
none2 at pci0:0:3: class=0x050000 card=0x80ac1043 chip=0x01ed10de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 Memory Controller 3'
class = memory
subclass = RAM
none3 at pci0:0:4: class=0x050000 card=0x80ac1043 chip=0x01ec10de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 Memory Controller 2'
class = memory
subclass = RAM
none4 at pci0:0:5: class=0x050000 card=0x80ac1043 chip=0x01ef10de
rev=0xc1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce2 Memory Controller 5'
class = memory
subclass = RAM
isab0 at pci0:1:0: class=0x060100 card=0x80ad1043 chip=0x006010de
rev=0xa4 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 ISA Bridge'
class = bridge
subclass = PCI-ISA
nfpm0 at pci0:1:1: class=0x0c0500 card=0x0c111043 chip=0x006410de
rev=0xa2 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP-T? SMBus Controller'
class = serial bus
subclass = SMBus
ohci0 at pci0:2:0: class=0x0c0310 card=0x0c111043 chip=0x006710de
rev=0xa4 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 OpenHCI USB Controller'
class = serial bus
subclass = USB
ohci1 at pci0:2:1: class=0x0c0310 card=0x0c111043 chip=0x006710de
rev=0xa4 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 OpenHCI USB Controller'
class = serial bus
subclass = USB
ehci0 at pci0:2:2: class=0x0c0320 card=0x0c111043 chip=0x006810de
rev=0xa4 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 EHCI USB 2.0 Controller'
class = serial bus
subclass = USB
nve0 at pci0:4:0: class=0x020000 card=0x80a71043 chip=0x006610de
rev=0xa1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP-T Networking Adapter'
class = network
subclass = ethernet
none5 at pci0:5:0: class=0x040100 card=0x0c111043 chip=0x006b10de
rev=0xa2 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP-T? Audio Processing Unit (Dolby Digital)'
class = multimedia
subclass = audio
pcm0 at pci0:6:0: class=0x040100 card=0x80951043 chip=0x006a10de
rev=0xa1 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP-T Audio Codec Interface'
class = multimedia
subclass = audio
pcib1 at pci0:8:0: class=0x060400 card=0x00000000 chip=0x006c10de
rev=0xa3 hdr=0x01 vendor = 'NVIDIA Corporation'
device = 'nForce MCP-T CPU to PCI Bridge'
class = bridge
subclass = PCI-PCI
atapci1 at pci0:9:0: class=0x01018a card=0x0c111043 chip=0x006510de
rev=0xa2 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 EIDE Controller'
class = mass storage
subclass = ATA
fwohci0 at pci0:13:0: class=0x0c0010 card=0x809a1043
chip=0x006e10de rev=0xa3 hdr=0x00 vendor = 'NVIDIA Corporation'
device = 'nForce MCP2 OHCI Compliant IEEE 1394 Controller'
class = serial bus
subclass = FireWire
pcib2 at pci0:30:0: class=0x060400 card=0x00000000 chip=0x01e810de
rev=0xc1 hdr=0x01 vendor = 'NVIDIA Corporation'
device = 'nForce2 AGP Host to PCI Bridge'
class = bridge
subclass = PCI-PCI
skc0 at pci1:4:0: class=0x020000 card=0x811a1043 chip=0x432011ab
rev=0x13 hdr=0x00 vendor = 'Marvell Semiconductor (Was: Galileo
Technology Ltd)' device = '88E8001/8003/8010 Gigabit Ethernet
Controller with Integrated PHY (copper)' class = network
subclass = ethernet
atapci0 at pci1:11:0: class=0x010400 card=0x61121095
chip=0x31121095 rev=0x02 hdr=0x00 vendor = 'Silicon Image Inc (Was:
CMD Technology Inc)' device = 'SiI 3112 SATALink/SATARaid Controller'
class = mass storage
subclass = RAID
drm0 at pci3:0:0: class=0x030000 card=0x7c0a174b chip=0x4e481002
rev=0x00 hdr=0x00 vendor = 'ATI Technologies Inc'
device = 'Radeon 9800 Pro (R350)'
class = display
subclass = VGA
none6 at pci3:0:1: class=0x038000 card=0x7c0b174b chip=0x4e681002
rev=0x00 hdr=0x00 vendor = 'ATI Technologies Inc'
device = 'Radeon 9800 Pro (R350) - Secondary'
class = display
nexus0
legacy0
npx0
acpi0
Interrupt request lines:
0x9
I/O ports:
0x10-0x1f
0x22-0x3f
0x44-0x5f
0x62-0x63
0x65-0x6f
0x74-0x7f
0x91-0x93
0xa2-0xbf
0xe0-0xef
0x4d0-0x4d1
0x4000-0x407f
0x4080-0x40ff
0x4200-0x427f
0x4280-0x42ff
0x4400-0x447f
0x4480-0x44ff
0x5000-0x503f
0x5500-0x553f
I/O memory addresses:
0x0-0x9ffff
0xd7000-0xd7fff
0xf0000-0xf7fff
0xf8000-0xfbfff
0xfc000-0xfffff
0x100000-0x1ffeffff
0x1fff0000-0x1fffffff
0xfec00000-0xfec00fff
0xfee00000-0xfee00fff
0xffff0000-0xffffffff
cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU0
acpi_sysresource0 pnpinfo _HID=PNP0C02 _UID=3 at handle=\_SB_.PMIO
acpi_sysresource1 pnpinfo _HID=PNP0C02 _UID=4 at handle=\_SB_.SMIO
acpi_button0 pnpinfo _HID=PNP0C0C _UID=0 at handle=\_SB_.PWRB
acpi_sysresource2 pnpinfo _HID=PNP0C01 _UID=0 at handle=\_SB_.MEM_
pcib0 pnpinfo _HID=PNP0A03 _UID=1 at handle=\_SB_.PCI0
pci0
agp0 pnpinfo vendor=0x10de device=0x01e0 subvendor=0x1043
subdevice=0x80ac class=0x060000 at slot=0 function=0 I/O memory
addresses: 0xa0000000-0xbfffffff
unknown pnpinfo vendor=0x10de device=0x01eb subvendor=0x1043
subdevice=0x80ac class=0x050000 at slot=0 function=1 unknown pnpinfo
vendor=0x10de device=0x01ee subvendor=0x1043 subdevice=0x80ac
class=0x050000 at slot=0 function=2 unknown pnpinfo vendor=0x10de
device=0x01ed subvendor=0x1043 subdevice=0x80ac class=0x050000 at
slot=0 function=3 unknown pnpinfo vendor=0x10de device=0x01ec
subvendor=0x1043 subdevice=0x80ac class=0x050000 at slot=0 function=4
unknown pnpinfo vendor=0x10de device=0x01ef subvendor=0x1043
subdevice=0x80ac class=0x050000 at slot=0 function=5 isab0 pnpinfo
vendor=0x10de device=0x0060 subvendor=0x1043 subdevice=0x80ad
class=0x060100 at slot=1 function=0 handle=\_SB_.PCI0.VT86 isa0 adv0
aha0 aic0 bt0 cs0
ed0
fe0
ie0
lnc0
sc0
sio2
sio3
sn0
vga0
I/O ports:
0x3c0-0x3df
I/O memory addresses:
0xa0000-0xbffff
vt0
orm0 pnpinfo pnpid=ORM0000
I/O memory addresses:
0xc0000-0xccfff
0xd0000-0xd3fff
0xd4000-0xd57ff
0xd6000-0xd6fff
nfpm0 pnpinfo vendor=0x10de device=0x0064 subvendor=0x1043
subdevice=0x0c11 class=0x0c0500 at slot=1 function=1 handle=
\_SB_.PCI0.SMB0 I/O ports: 0x1000-0x103f
0xdc00-0xdc1f
I/O ports:
0x5000-0x503f
smbus0
smb0
nfpm1
smbus1
smb1
ohci0 pnpinfo vendor=0x10de device=0x0067 subvendor=0x1043
subdevice=0x0c11 class=0x0c0310 at slot=2 function=0 handle=
\_SB_.PCI0.USB0 Interrupt request lines: 0xb
I/O memory addresses:
0xd5087000-0xd5087fff
usb0
uhub0
ohci1 pnpinfo vendor=0x10de device=0x0067 subvendor=0x1043
subdevice=0x0c11 class=0x0c0310 at slot=2 function=1 handle=
\_SB_.PCI0.USB1 I/O memory addresses: 0xd5082000-0xd5082fff
usb1
uhub1
ehci0 pnpinfo vendor=0x10de device=0x0068 subvendor=0x1043
subdevice=0x0c11 class=0x0c0320 at slot=2 function=2 handle=
\_SB_.PCI0.USB2 Interrupt request lines: 0x5
I/O memory addresses:
0xd5083000-0xd50830ff
usb2
uhub2
nve0 pnpinfo vendor=0x10de device=0x0066 subvendor=0x1043
subdevice=0x80a7 class=0x020000 at slot=4 function=0 handle=
\_SB_.PCI0.MMAC I/O ports: 0xe000-0xe007
I/O memory addresses:
0xd5086000-0xd5086fff
miibus0
rlphy0 pnpinfo oui=0x20 model=0x20 rev=0x1 at phyno=1
unknown pnpinfo vendor=0x10de device=0x006b subvendor=0x1043
subdevice=0x0c11 class=0x040100 at slot=5 function=0 handle=
\_SB_.PCI0.MAPU I/O memory addresses: 0xd5000000-0xd507ffff
pcm0 pnpinfo vendor=0x10de device=0x006a subvendor=0x1043
subdevice=0x8095 class=0x040100 at slot=6 function=0 handle=
\_SB_.PCI0.MACI I/O ports: 0xd000-0xd07f
0xe400-0xe4ff
I/O memory addresses:
0xd5080000-0xd5080fff
pcib1 pnpinfo vendor=0x10de device=0x006c subvendor=0x0000
subdevice=0x0000 class=0x060400 at slot=8 function=0 handle=
\_SB_.PCI0.HUB0 pci1 skc0 pnpinfo vendor=0x11ab device=0x4320
subvendor=0x1043 subdevice=0x811a class=0x020000 at slot=4 function=0 I/
O ports: 0x9000-0x90ff
I/O memory addresses:
0xd4000000-0xd4003fff
sk0
miibus1
e1000phy0 pnpinfo oui=0x5043 model=0x2 rev=0x5 at
phyno=0 atapci0 pnpinfo vendor=0x1095 device=0x3112 subvendor=0x1095
subdevice=0x6112 class=0x010400 at slot=11 function=0 I/O ports:
0x9400-0x9407
0x9800-0x9803
0x9c00-0x9c07
0xa000-0xa003
0xa400-0xa40f
I/O memory addresses:
0xd4004000-0xd40041ff
ata2
atapicam2
ata3
atapicam3
atapci1 pnpinfo vendor=0x10de device=0x0065 subvendor=0x1043
subdevice=0x0c11 class=0x01018a at slot=9 function=0 handle=
\_SB_.PCI0.IDE0 I/O ports: 0x170-0x177
0x1f0-0x1f7
0x376
0x3f6
0xf000-0xf00f
ata0
Interrupt request lines:
0xe
ad0
subdisk0
atapicam0
ata1
Interrupt request lines:
0xf
acd0
atapicam1
fwohci0 pnpinfo vendor=0x10de device=0x006e subvendor=0x1043
subdevice=0x809a class=0x0c0010 at slot=13 function=0 handle=
\_SB_.PCI0.F139 I/O memory addresses: 0xd5084000-0xd50847ff
0xd5085000-0xd508503f
firewire0
pcib2 pnpinfo vendor=0x10de device=0x01e8 subvendor=0x0000
subdevice=0x0000 class=0x060400 at slot=30 function=0 handle=
\_SB_.PCI0.AGPB pci3 drm0 pnpinfo vendor=0x1002 device=0x4e48
subvendor=0x174b subdevice=0x7c0a class=0x030000 at slot=0 function=0
handle=\_SB_.PCI0.AGPB.VGAG I/O ports: 0xc000-0xc0ff
I/O memory addresses:
0xc0000000-0xc7ffffff
0xd2000000-0xd200ffff
unknown pnpinfo vendor=0x1002 device=0x4e68
subvendor=0x174b subdevice=0x7c0b class=0x038000 at slot=0 function=1 I/
O memory addresses: 0xc8000000-0xcfffffff
0xd2010000-0xd201ffff
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.PRI0
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.PRI0.MAST
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.PRI0.SLAV
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.SEC0
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.SEC0.MAST
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDE0.SEC0.SLAV
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.HUB1
unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.MMCI
pci_link0 pnpinfo _HID=PNP0C0F _UID=1 at handle=\_SB_.PCI0.LNK1
pci_link1 pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.PCI0.LNK2
pci_link2 pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.PCI0.LNK3
pci_link3 pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.PCI0.LNK4
pci_link4 pnpinfo _HID=PNP0C0F _UID=5 at handle=\_SB_.PCI0.LNK5
pci_link5 pnpinfo _HID=PNP0C0F _UID=6 at handle=\_SB_.PCI0.LUBA
pci_link6 pnpinfo _HID=PNP0C0F _UID=7 at handle=\_SB_.PCI0.LUBB
pci_link7 pnpinfo _HID=PNP0C0F _UID=8 at handle=\_SB_.PCI0.LMAC
pci_link8 pnpinfo _HID=PNP0C0F _UID=9 at handle=\_SB_.PCI0.LAPU
pci_link9 pnpinfo _HID=PNP0C0F _UID=10 at handle=\_SB_.PCI0.LACI
pci_link10 pnpinfo _HID=PNP0C0F _UID=11 at handle=\_SB_.PCI0.LMCI
pci_link11 pnpinfo _HID=PNP0C0F _UID=12 at handle=\_SB_.PCI0.LSMB
pci_link12 pnpinfo _HID=PNP0C0F _UID=13 at handle=\_SB_.PCI0.LUB2
pci_link13 pnpinfo _HID=PNP0C0F _UID=14 at handle=\_SB_.PCI0.LFIR
pci_link14 pnpinfo _HID=PNP0C0F _UID=15 at handle=\_SB_.PCI0.L3CM
pci_link15 pnpinfo _HID=PNP0C0F _UID=16 at handle=\_SB_.PCI0.LIDE
pci_link16 pnpinfo _HID=PNP0C0F _UID=11 at handle=\_SB_.PCI0.APC1
pci_link17 pnpinfo _HID=PNP0C0F _UID=12 at handle=\_SB_.PCI0.APC2
pci_link18 pnpinfo _HID=PNP0C0F _UID=13 at handle=\_SB_.PCI0.APC3
pci_link19 pnpinfo _HID=PNP0C0F _UID=14 at handle=\_SB_.PCI0.APC4
pci_link20 pnpinfo _HID=PNP0C0F _UID=15 at handle=\_SB_.PCI0.APC5
pci_link21 pnpinfo _HID=PNP0C0F _UID=16 at handle=\_SB_.PCI0.APCF
pci_link22 pnpinfo _HID=PNP0C0F _UID=17 at handle=\_SB_.PCI0.APCG
pci_link23 pnpinfo _HID=PNP0C0F _UID=18 at handle=\_SB_.PCI0.APCH
pci_link24 pnpinfo _HID=PNP0C0F _UID=26 at handle=\_SB_.PCI0.APCI
pci_link25 pnpinfo _HID=PNP0C0F _UID=27 at handle=\_SB_.PCI0.APCJ
pci_link26 pnpinfo _HID=PNP0C0F _UID=28 at handle=\_SB_.PCI0.APCK
pci_link27 pnpinfo _HID=PNP0C0F _UID=29 at handle=\_SB_.PCI0.APCS
pci_link28 pnpinfo _HID=PNP0C0F _UID=30 at handle=\_SB_.PCI0.APCL
pci_link29 pnpinfo _HID=PNP0C0F _UID=31 at handle=\_SB_.PCI0.APCM
pci_link30 pnpinfo _HID=PNP0C0F _UID=32 at handle=\_SB_.PCI0.AP3C
pci_link31 pnpinfo _HID=PNP0C0F _UID=33 at handle=\_SB_.PCI0.APCZ
acpi_sysresource3 pnpinfo _HID=PNP0C02 _UID=1 at handle=
\_SB_.PCI0.SYSR atpic0 pnpinfo _HID=PNP0000 _UID=0 at handle=
\_SB_.PCI0.PIC_ atdma0 pnpinfo _HID=PNP0200 _UID=0 at handle=
\_SB_.PCI0.DMA1 attimer0 pnpinfo _HID=PNP0100 _UID=0 at handle=
\_SB_.PCI0.TMR_ attimer1 pnpinfo _HID=PNP0B00 _UID=0 at handle=
\_SB_.PCI0.RTC_ unknown pnpinfo _HID=PNP0800 _UID=0 at handle=
\_SB_.PCI0.SPKR npxisa0 pnpinfo _HID=PNP0C04 _UID=0 at handle=
\_SB_.PCI0.COPR fdc0 pnpinfo _HID=PNP0700 _UID=0 at handle=
\_SB_.PCI0.FDC0 Interrupt request lines:
0x6
DMA request lines:
2
I/O ports:
0x3f0-0x3f5
0x3f7
fd0
fd1
sio0 pnpinfo _HID=PNP0501 _UID=1 at handle=\_SB_.PCI0.UAR1
Interrupt request lines:
0x4
I/O ports:
0x3f8-0x3ff
sio1 pnpinfo _HID=PNP0501 _UID=2 at handle=\_SB_.PCI0.UAR2
Interrupt request lines:
0x3
I/O ports:
0x2f8-0x2ff
unknown pnpinfo _HID=PNP0510 _UID=0 at handle=\_SB_.PCI0.IRDA
unknown pnpinfo _HID=PNP0400 _UID=0 at handle=\_SB_.PCI0.LPT1
ppc0 pnpinfo _HID=PNP0401 _UID=0 at handle=\_SB_.PCI0.ECP1
I/O ports:
0x378-0x37f
ppbus0
lpt0
ppi0
psmcpnp0 pnpinfo _HID=PNP0F13 _UID=0 at handle=\_SB_.PCI0.PS2M
Interrupt request lines:
0xc
atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.PS2K
I/O ports:
0x60
0x64
atkbd0
Interrupt request lines:
0x1
psm0
unknown pnpinfo _HID=PNPB006 _UID=0 at handle=\_SB_.PCI0.MIDI
unknown pnpinfo _HID=PNPB02F _UID=0 at handle=\_SB_.PCI0.GAME
acpi_timer0 pnpinfo unknown at unknown
I/O ports:
0x4008-0x400b
--
iprefetch ai
More information about the freebsd-current
mailing list