Re: ISDN4BSD (HPS version) is going into ports

Andreas Longwitz <[email protected]> Tue, 15 Jan 2013 21:24:25 +0100
Newsgroups gmane.os.freebsd.devel.isdn
Message-ID <[email protected]>
Hi,

please forget the last passage of my last post.

In the meantime I changed some parts according to my former list to make
things work like BSD does:

>> 2. DELAY times on startup is different: 4 ms in isdn4bsd, 10 ms in BSD
>> 3. Initializing the chip is more expansive in BSD, otherwise the
>>    register cmdrd is only used in isdn4bsd.
>>
>> 4. In avm_pci_fifo_reset() we write two single bytes, but BSD does one
>>    (atomic) four byte read. Particularly we do not write the HSCX_LEN
>>    byte between the both written bytes (must set to 0 ?)
>>
>> 5. In avm_pci_b_status_read() - analog to 4. - we read two single bytes,
>>    BSD (atomic) four bytes.

With these adaptions isdn4bsd/isdnd now works with my AVM Fritzcard !!

Because the driver works with "transparent mode" I observe that we have
data exchange of 64kbit/s full duplex between chip and kernel as soon as
a B-channel is up. And it makes no difference if I ping something over
the line or run a ssh session or do nothing. I see about 500 irq's every
second, I think that is the price for the tiny fifo buffer of 32 byte.

Using the BSD driver I see for a ping only 12 irqs/sec and no irqs if
the ping stops. Obviously thats not "transparent mode", the BSD driver
uses HSCX_MODE_ITF_FLAG instead of HSCX_MODE_TRANS, that make probably
the difference.

If the 500 irqs/sec is what you expected, I will send you a complete
patchfile.

Thanks again for helping to track down this long standing problem.

-- 
Andreas Longwitz

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-isdn
To unsubscribe, send any mail to "[email protected]"