Project

General

Profile

Actions

Bug #5477

closed

Using both interfaces with DAHDI fails on ThinkPad T430

Added by manawyrm about 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
DAHDI driver
Target version:
-
Start date:
03/03/2022
Due date:
% Done:

100%

Spec Reference:

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

Actions #1

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.

Actions #2

Updated by laforge about 2 years ago

  • Status changed from New to In Progress
  • Priority changed from Low to High
Problem can [now] be reproduced on two other machines:
  • 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.

Actions #3

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

Actions #4

Updated by laforge about 2 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 30 to 100
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)