Date: Tue, 6 Jul 2004 11:48:41 +0300 (EEST) From: Ari Suutari <ari.suutari@syncrontech.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/68756: isdn4bsd driver for AVM Fritz V2 does not always work after boot Message-ID: <200407060848.i668mfBK018336@pommac.syncrontech.com> Resent-Message-ID: <200407070630.i676UJ8M045632@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 68756 >Category: kern >Synopsis: isdn4bsd driver for AVM Fritz V2 does not always work after boot >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jul 07 06:30:18 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Ari Suutari >Release: FreeBSD 4.9-RELEASE i386 >Organization: Syncron Tech Oy >Environment: System: FreeBSD pommac.syncrontech.com 4.9-RELEASE FreeBSD 4.9-RELEASE #23: Thu May 27 14:09:16 EEST 2004 ari@pommac.syncrontech.com:/usr/obj/usr/src/sys/POMMAC i386 >Description: I'm facing odd but repeatable problems with FreeBSD 4.9 and AVM Fritz V2 PCI isdn cards. It seems that if I reboot my server the isdn card no longer works. However, if I power-off and power-on the card works again. Without power-off, I'm getting messages like "Awaiting signal" from ifpi2 driver and the system never recovers. I have tried replacing the isdn card, but it doesn't help. The machines are HP Compaq 2000 models. >How-To-Repeat: Install and configure AVM Fritz V2 card and reboot without cycling power. Isdn doesn't always come up. >Fix: I compared drivers for this card on Linux and FreeBSD. Linux driver writes to STAT0 register during initilization value which FreeBSD version does not. Adding this reset code seems to fix the problem for me. Patch (agains 4.9) follows: Index: i4b_ifpi2_pci.c =================================================================== RCS file: /opt/freebsd-cvs/src/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c,v retrieving revision 1.6.2.2 diff -c -r1.6.2.2 i4b_ifpi2_pci.c *** i4b_ifpi2_pci.c 15 May 2002 08:12:42 -0000 1.6.2.2 --- i4b_ifpi2_pci.c 6 Jul 2004 08:18:35 -0000 *************** *** 155,160 **** --- 155,161 ---- /* * AVM PCI Status Latch 0 read only bits */ + #define ASL_RESET 0x01 #define ASL_TIMERRESET 0x04 #define ASL_ENABLE_INT 0x08 *************** *** 566,571 **** --- 567,579 ---- #ifdef AVMA1PCI_V2_DEBUG printf("avma1pp2_attach: 1 HSCX_STAT %x\n", v); #endif + + bus_space_write_1(btag, bhandle, STAT0_OFFSET, 0); + DELAY(SEC_DELAY/100); /* 10 ms */ + bus_space_write_1(btag, bhandle, STAT0_OFFSET, ASL_RESET); + DELAY(SEC_DELAY/100); /* 10 ms */ + bus_space_write_1(btag, bhandle, STAT0_OFFSET, 0); + DELAY(SEC_DELAY/100); /* 10 ms */ bus_space_write_1(btag, bhandle, STAT0_OFFSET, ASL_TIMERRESET); DELAY(SEC_DELAY/100); /* 10 ms */ >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407060848.i668mfBK018336>