Subject: FireWire broken after suspend/resume in -current
To: None <current-users@NetBSD.org>
From: Rhialto <rhialto@falu.nl>
List: current-users
Date: 01/04/2007 22:30:55
If I suspend and resume a -current kernel (cvs updated today, but it
also happened with one from 31 december), the firewire interface doesn't
work anymore.

My previous kernel from around 7 december would completely hang when
resuming, so I can't say how that one would have reacted.

Prior to that I had a much older -current that as fas as I remember
worked properly in this case.

See at the end of the dmesg:


Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.7 (LOELAPPIE-CURRENT) #1: Thu Jan  4 22:01:32 CET 2007
	rhialto@loelappie.falu.nl:/home/rhialto/LOELAPPIE-CURRENT
total memory = 503 MB
avail memory = 490 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfdb30
PCI BIOS rev. 2.1 found at 0xfdb51
pcibios: config mechanism [1][x], special cycles [x][x], last bus 1
PCI IRQ Routing Table rev. 1.0 found at 0xf7d40, size 112 bytes (5 entries)
PCI Interrupt Router at 000:17:0 (VIA Technologies VT8231 PCI-ISA Bridge compatible)
------------------------------------------
  device vendor product pin PIRQ IRQ stage
------------------------------------------
000:08:0 0x1217 0x6972   A  0x01   9  1    fixed up
000:16:0 0x1106 0x3044   A  0x02   9  0    already assigned
000:17:5 0x1106 0x3058   C  0x02   9  0    already assigned
000:17:6 0x1106 0x3068   C  0x02   9  0    already assigned
000:18:0 0x1106 0x3065   A  0x00   9  0    already assigned
------------------------------------------
mainbus0 (root)
pci_addr_fixup: 000:08:0 0x1217 0x6972 new address 0x1f800000
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Athlon XP-M 1900+ (686-class), 1599.64 MHz, id 0x680
cpu0: features c3cbf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features c3cbf9ff<PGE,MCA,CMOV,PAT,PSE36,MPC,MMXX,MMX>
cpu0: features c3cbf9ff<FXSR,SSE,3DNOW2,3DNOW>
cpu0: "mobile AMD Athlon(tm) XP-M 1900+"
cpu0: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu0: L2 cache 256 KB 64B/line 16-way
cpu0: ITLB 16 4 KB entries fully associative, 8 4 MB entries fully associative
cpu0: DTLB 32 4 KB entries fully associative, 8 4 MB entries 4-way
cpu0: AMD Power Management features: 7<VID,FID,TS>
cpu0: AMD Powernow! K7 Technology 1596 (MHz)
cpu0: frequencies available (Mhz): 798 1064 1197 1330 1463 1596
cpu0: 8 page colors
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: VIA Technologies VT8363 (Apollo KT133) Host Bridge (rev. 0x80)
agp0 at pchb0: aperture at 0xe0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0: VIA Technologies VT8363 (Apollo KT133) PCI to AGP Bridge (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: S3 product 0x8d02 (rev. 0x01)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
cbb0 at pci0 dev 8 function 0: O2 Micro OZ6912/OZ6972 PCI-CardBus Bridge (rev. 0x00)
fwohci0 at pci0 dev 16 function 0: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x46)
fwohci0: interrupting at irq 9
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:03:0d:43:34:11:7d:5b
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
pcib0 at pci0 dev 17 function 0
pcib0: VIA Technologies VT8231 PCI-ISA Bridge (rev. 0x10)
viaide0 at pci0 dev 17 function 1
viaide0: VIA Technologies VT8231 ATA100 controller
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at irq 15
atabus1 at viaide0 channel 1
uhci0 at pci0 dev 17 function 2: VIA Technologies VT83C572 USB Controller (rev. 0x1e)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA Technologies 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 17 function 3: VIA Technologies VT83C572 USB Controller (rev. 0x1e)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
VIA Technologies VT8231 Power Management Controller (miscellaneous bridge, revision 0x10) at pci0 dev 17 function 4 not configured
auvia0 at pci0 dev 17 function 5: VIA Technologies VT82C686A AC'97 Audio (rev 0x40)
auvia0: interrupting at irq 9
auvia0: ac97: VIA Technologies VT1612A codec; headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
auvia0: ac97: ext id 201<AMAP,VRA>
audio0 at auvia0: full duplex, mmap, independent
VIA Technologies VT82C686A MC-97 Modem Controller (miscellaneous communications, revision 0x20) at pci0 dev 17 function 6 not configured
vr0 at pci0 dev 18 function 0: VIA VT6102 (Rhine II) 10/100 Ethernet
vr0: interrupting at irq 9
vr0: Ethernet address: 00:a0:cc:d4:f7:42
nsphyter0 at vr0 phy 1: DP83815 10/100 media interface, rev. 3
nsphyter0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
cbb0: interrupting at irq 9
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 2
pcmcia0 at cardslot0
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
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 (CPU-intensive output)
spkr0 at pcppi0
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
apm0 at mainbus0: Advanced Power Management BIOS: Power Management spec V1.2
fwohci0: node_id=0xc800ffc1, gen=1, CYCLEMASTER mode
ieee1394if0: 2 nodes, maxhop <= 1, cable IRM = 1 (me)
ieee1394if0: bus manager 1 (me)
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
IPsec: Initialized Security Association Processing.
ieee1394if0: New S400 device ID:001010055000008c
sbp0 at ieee1394if0: SBP-2/SCSI over IEEE1394
scsibus0 at sbp0: 1 target, 0 luns per target
sd0 at scsibus0 target 0 lun 0: <Initio, WD2500JB-00REA0, 0312> disk fixed
sd0: fabricating a geometry
sd0: 232 GB, 238475 cyl, 64 head, 32 sec, 512 bytes/sect x 488397168 sectors
wd0 at atabus0 drive 0: <WDC WD800VE-00HDT0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <Samsung CD-RW/DVD-ROM SN-324B, , u103> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2
cd0(viaide0:1:0): using PIO mode 4, DMA mode 2 (using DMA)
sd0: fabricating a geometry
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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)

Here I hit the suspend keys (Fn+F1), then resume:

pckbd0: suspending...
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
fwohci0: Initiate bus reset
atabus0: resuming...
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc1, gen=1, CYCLEMASTER mode
ieee1394if0: 2 nodes, maxhop <= 1, cable IRM = 1 (me)
ieee1394if0: bus manager 1 (me)
atabus1: resuming...
pckbd0: resuming...
fw_rcv: unknown response RRESQ(6) src=0xffc0 tl=0x1 rt=1 data=0x20042e04
try ad-hoc work around!!
no use...
ieee1394if0: split transaction timeout dst=0xffc0 tl=0x7 state=3
fw_rcv: unknown response RRESQ(6) src=0xffc0 tl=0x2 rt=1 data=0x34393331
try ad-hoc work around!!
no use...
ieee1394if0: split transaction timeout dst=0xffc0 tl=0x8 state=3
fw_rcv: unknown response RRESQ(6) src=0xffc0 tl=0x3 rt=1 data=0x2a0ff00
try ad-hoc work around!!
no use...
ieee1394if0: split transaction timeout dst=0xffc0 tl=0x9 state=3

A mount_msdos process is stuck in state "xs_cmd".

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert      -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl        -- Cetero censeo "authored" delendum esse.