Summary: | DAHLIN-00298: dahdi-linux 2.6.1 fails to detect ringing | ||
Reporter: | Jaco Kroon (jkroon) | Labels: | |
Date Opened: | 2012-08-13 19:16:57 | Date Closed: | 2012-09-21 13:17:41 |
Priority: | Critical | Regression? | Yes |
Status: | Closed/Complete | Components: | wctdm24xxp |
Versions: | 2.6.1 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Linux, kernel 2.6.37 Asterisk 1.8.13.1 and 1.8.15.0 dahdi-tools 2.6.1 libpri 1.4.12 | Attachments: | ( 0) 0001-wctdm24xxp-Only-two-polarity-reversals-are-needed-to.patch ( 1) 0001-wctdm24xxp-wip-Add-ring-state-debug-flags.patch |
Description: | wctdm24xxp module won't pick up incoming ringing since upgrading to dahdi-linux 2.6.1. After discussion with sruffel on #asterisk and a bit of git bisecting the quilty commit is this one: df509300791f1bb5b4b652c2adcfbcc016f789e7 is the first bad commit commit df509300791f1bb5b4b652c2adcfbcc016f789e7 Author: Shaun Ruffell <sruffell@digium.com> Date: Tue Aug 30 16:38:32 2011 +0000 wctdm24xxp: Use time interval for debouncing FXO ring detect. Do not assume the ring detection function is called for every frame. Also change the debounce logic to a state machine to clarify what state a port is in and unify the technique for debouncing the various signals. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10168 a0bf4364-ded3-4de4-8d8a-66a801d63aff :040000 040000 b5f6e1244fae106d3d5537258c532fa1ce1e302e 759c00e4d73a9417e9afa0266b038e3fc01d8a27 Mdrivers Module parameters: opermode=SOUTHAFRICA boostringer=1 fastringer=1 latency=7 | ||
Comments: | By: Shaun Ruffell (sruffell) 2012-08-14 00:00:57.990-0500 jkroon, Thanks for bisecting to find the offending commit. The attached patch (which is also on my dahlin-298-1 branch on git://github.com/sruffell/dahdi-linux ) will hopefully allow us to see the transitions the ring detector is going through. I would load the driver, then enable debug "echo 1 > /sys/module/wctdm24xxp/parameters/debug" and you should see output like: {code} 6121.922070] wctdm24xxp 0000:0a:07.0: Ring State: RINGOFF -> DEBOUNCING_RINGING_NEGATIVE (-65) (0x4c) [ 6121.933044] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGING_NEGATIVE -> DEBOUNCING_RINGING_POSITIVE (-36) (0x2c) [ 6121.956017] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGING_POSITIVE -> DEBOUNCING_RINGING_NEGATIVE (-6) (0x4c) [ 6121.974023] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGING_NEGATIVE -> DEBOUNCING_RINGING_POSITIVE (-16) (0x2c) [ 6121.995021] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGING_POSITIVE -> DEBOUNCING_RINGING_NEGATIVE (-3) (0x4c) [ 6122.014023] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGING_NEGATIVE -> RINGING (-6) (0x2c) [ 6122.014031] wctdm24xxp 0000:0a:07.0: RING on WCTDM/1/0! [ 6122.032027] wctdm24xxp 0000:0a:07.0: Ring State: RINGING -> DEBOUNCING_RINGOFF (30) (0xc) [ 6122.034013] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGOFF -> RINGING (4) (0x4c) [ 6122.051030] wctdm24xxp 0000:0a:07.0: Ring State: RINGING -> DEBOUNCING_RINGOFF (-36) (0xc) [ 6122.054013] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGOFF -> RINGING (1) (0x2c) [ 6122.071027] wctdm24xxp 0000:0a:07.0: Ring State: RINGING -> DEBOUNCING_RINGOFF (36) (0xc) [ 6122.073014] wctdm24xxp 0000:0a:07.0: Ring State: DEBOUNCING_RINGOFF -> RINGING (9) (0x4c) [ 6122.090058] wctdm24xxp 0000:0a:07.0: Ring State: RINGING -> DEBOUNCING_RINGOFF (-42) (0xc) {code} By: Jaco Kroon (jkroon) 2012-08-14 13:27:09.621-0500 Thanks for the assistance Shaun. Much appreciated. Your commit: commit 11f8933f0794f4fde7e80778de7bc357d632bb0c Author: Shaun Ruffell <sruffell@digium.com> Date: Tue Aug 14 13:08:51 2012 -0500 wip: decrease polarity changes to 3 To your dahlin-298-1 branch did the trick. From looking at the diff this used to be four. This is good enough for me. As an asside, this is the quickest I've ever seen asterisk enter into the dialplan from an analog since forever. Usually gave about two to three rings before asterisk even picked up on it - it's instantaneous now, much, much better. Thanks for all your hard work. By: Shaun Ruffell (sruffell) 2012-08-14 15:59:49.687-0500 I attached 0001-wctdm24xxp-Only-two-polarity-reversals-are-needed-to.patch which I believe is ready for committing onto trunk and the 2.6 branch. By: Russ Meyerriecks (rmeyerriecks) 2012-08-14 16:59:27.072-0500 Patch is on my for-trunk, awaiting testing. By: Russ Meyerriecks (rmeyerriecks) 2012-09-21 13:17:41.146-0500 http://svnview.digium.com/svn/dahdi?view=revision&revision=10719 |