Bug #5477
closedUsing both interfaces with DAHDI fails on ThinkPad T430
100%
Description
When using both E1 interfaces, with the iCE1usb connected via XHCI/USB3.0 on a ThinkPad T430 (running Debian 12, Linux 5.15.15), dahdi fails to configure the interfaces:
root@isdn2 ~ # dahdi_cfg
DAHDI startup failed: Cannot allocate memory
[ 326.469425] icE1usb 2-2:1.0: entering e1u_d_spanconfig
[ 326.469431] icE1usb 2-2:1.0: entering e1u_d_shutdown
[ 326.471007] icE1usb 2-2:1.0: entering ice1usb_set_altif(0)
[ 326.471678] icE1usb 2-2:1.0: TX-CONFIG (crc4=TS0_CRC4, timing=REMOTE, ext_loopback=OFF, tx_yellow_alarm=0)
[ 326.473623] icE1usb 2-2:1.0: entering e1u_d_startup
[ 326.473628] icE1usb 2-2:1.0: entering ice1usb_set_altif(1)
[ 326.474480] icE1usb 2-2:1.1: entering e1u_d_spanconfig
[ 326.474483] icE1usb 2-2:1.1: TX-CONFIG (crc4=TS0_CRC4, timing=REMOTE, ext_loopback=OFF, tx_yellow_alarm=0)
[ 326.476736] icE1usb 2-2:1.1: entering e1u_d_startup
[ 326.476739] icE1usb 2-2:1.1: entering ice1usb_set_altif(1)
[ 326.476755] xhci_hcd 0000:00:14.0: Not enough bandwidth. Proposed: 1413, Max: 1285
[ 326.478483] xhci_hcd 0000:00:14.0: Not enough bandwidth
[ 326.478493] icE1usb 2-2:1.0: IRQ: crc=0, align=1, ovfl=50909, unfl=1, flags=0
[ 326.480182] usb 2-2: Not enough bandwidth for altsetting 1
[ 326.481901] icE1usb 2-2:1.1: error setting ON-altif 1 (-12)
When using the EHCI/USB2.0 ports, the problem is even more severe:
[...]
[ 35.544490] icE1usb 1-1.2:1.1: configured channel 55 (icE1usb/1/1/24) sigtype 128
[ 35.545310] icE1usb 1-1.2:1.1: configured channel 56 (icE1usb/1/1/25) sigtype 128
[ 35.546099] icE1usb 1-1.2:1.1: configured channel 57 (icE1usb/1/1/26) sigtype 128
[ 35.546842] icE1usb 1-1.2:1.1: configured channel 58 (icE1usb/1/1/27) sigtype 128
[ 35.547583] icE1usb 1-1.2:1.1: configured channel 59 (icE1usb/1/1/28) sigtype 128
[ 35.548260] icE1usb 1-1.2:1.1: configured channel 60 (icE1usb/1/1/29) sigtype 128
[ 35.548916] icE1usb 1-1.2:1.1: configured channel 61 (icE1usb/1/1/30) sigtype 128
[ 35.549691] icE1usb 1-1.2:1.1: configured channel 62 (icE1usb/1/1/31) sigtype 128
[ 35.550996] icE1usb 1-1.2:1.0: entering e1u_d_startup
[ 35.551000] icE1usb 1-1.2:1.0: entering ice1usb_set_altif(1)
[ 35.551914] icE1usb 1-1.2:1.1: entering e1u_d_startup
[ 35.551918] icE1usb 1-1.2:1.1: entering ice1usb_set_altif(1)
[ 35.552711] icE1usb 1-1.2:1.1: error submitting IN ep URB 0 (-28)
[Kernel is broken, dahdi_cfg terminal is hung, dahdi_cfg spins with 100% CPU util.]
Trying to forcibly unload the icE1usb kernel module:
[ 299.869288] Disabling lock debugging due to kernel taint
[ 299.869782] usbcore: deregistering interface driver icE1usb-GPSDO
[ 299.870298] icE1usb-GPSDO 1-1.2:1.4: entering ice1usb_gpsdo_disconnect
[ 299.870336] usbcore: deregistering interface driver icE1usb
[ 299.870848] icE1usb 1-1.2:1.1: entering ice1usb_disconnect
[ 299.870859] dahdi: disable_span: span 2
[ 299.871356] icE1usb 1-1.2:1.1: entering e1u_d_shutdown
[rmmod hangs with 100% CPU as well, system still broken]
Firmware version:
[ 59.651589] icE1usb-GPSDO 2-1:1.4: icE1usb firmware build: 'icE1usb-fw-0.2-8-gcac342a built Wed Feb 23 02:01:07 UTC 2022 on 0f3e3c92a80a'
Same DAHDI system.conf for XHCI & EHCI:
# Span 1: icE1usb/1/0 "Osmocom icE1USB Card 1 Span 0" (MASTER)
span=1,0,0,ccs,hdb3,crc4
# termtype: nt
bchan=1-15,17-31
dchan=16
# Span 2: icE1usb/1/1 "Osmocom icE1USB Card 1 Span 1" (MASTER)
span=2,0,0,ccs,hdb3,crc4
# termtype: nt
bchan=32-46,48-62
dchan=47
# Global data
loadzone = de
defaultzone = de
Updated by laforge about 2 years ago
On Thu, Mar 03, 2022 at 06:51:09PM +0000, manawyrm wrote:
When using both E1 interfaces, with the iCE1usb connected via XHCI/USB3.0 on a ThinkPad T430 (running Debian 12, Linux 5.15.15), dahdi fails to configure the interfaces:
well, that is the usual behavior as all XHCI implementations we know appear to be broken
when computing the bus bandwith.
When using the EHCI/USB2.0 ports, the problem is even more severe:
that, however, is surprising.
Updated by laforge about 2 years ago
- Status changed from New to In Progress
- Priority changed from Low to High
- PC Engines APU2 Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 39)
- Intel Xeon E31225 Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
So I think it is a generic problem happening on all EHCI now. Not sure whether it's a change in our icE1usb firmware or a change in the upstream (Debian 11 in my case) kernel.
Updated by laforge about 2 years ago
- % Done changed from 0 to 30
At least no more dahdi/kernel hangs with https://gerrit.osmocom.org/c/dahdi-linux/+/27492
Updated by laforge about 2 years ago
- Status changed from In Progress to Resolved
- % Done changed from 30 to 100
Applied in changeset dahdi-linux|1dda3f4d53cb89a984114840d873c53bae06254d.