DAHDI 3.0.0 未分配跨度且无法生成配置

DAHDI 3.0.0 未分配跨度且无法生成配置

我正在设置 Debian 10、Asterisk 16 和 DAHDI 3.0.0 的全新安装。我指定了 Digium TDM410P 4 端口模拟卡 (PSTN),并尝试使用 asterisk 和 dahdi 对其进行配置。不幸的是,我的卡可以从操作系统和 dahdi_hardware 检测到,但在 span-assignments 和 dahdi_scan 上看不到它,所以我无法配置通道和端口!

这有什么问题?

我尝试重新安装 dahdi、模块、Asterisk 甚至 Debian,但仍然无法找出问题所在。

lspci 02:06.0 以太网控制器:Digium, Inc. Wildcard TDM410 4 端口模拟卡(修订版 11)

lspci -vvv 02:06.0 以太网控制器:Digium, Inc. Wildcard TDM410 4 端口模拟卡(修订版 11) 子系统:Digium, Inc. Wildcard TDM410 4 端口模拟卡 控制:I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- 状态:Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-

dahdi_hardware pci:0000:02:06.0 wctdm24xxp- d161:8005 通配符 TDM410P

dahdi_scan “这里没有输出,什么都没有”

dahdi_genconf -vvvvv 来自 /etc/dahdi/genconf_parameters 的默认参数 空配置 -- 无跨度 生成 /etc/dahdi/assigned-spans.conf 空配置 -- 无跨度 生成 /etc/dahdi/system.conf 空配置 -- 无跨度 生成 /etc/asterisk/dahdi-channels.conf

dahdi_cfg -vvvvv DAHDI 工具版本 - 3.1.0-rc1

DAHDI 版本:3.1.0-rc1 回声消除器:

配置通道图:

0 个通道需要配置。

/etc/init.d/dahdi 开始加载 DAHDI 硬件模块:wctdm24xxp:完成 /usr/share/dahdi/waitfor_xpds:106:/usr/share/dahdi/waitfor_xpds:astribank_is_starting:未找到使用‘/etc/dahdi/assigned-spans.conf’运行 dahdi_cfg:完成。

cat /etc/dahdi/assigned-spans.conf 由 /usr/sbin/dahdi_span_assignments 自动生成于 2019 年 8 月 4 日星期日晚上 10:07:50 EEST 将设备 + 本地跨度映射到跨度 + 基本通道编号

答案1

尽管 TDM410 和 TDM800 不再受“支持”,但可以使它们发挥作用,帮助您摆脱困境。

警告:您需要独自获得支持。

这里的示例使用 DAHDI 3.1.0,因为我发现自己陷入了同样的困境。

在我的情况下,在文件中dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/wctdm24xxp/base.c 添加回 TDM410 和 TDM800 的 PCI 设备。

static DEFINE_PCI_DEVICE_TABLE(wctdm_pci_tbl) = {
    { 0xd161, 0x2400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm2400 },
    **{ 0xd161, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm800 },**
    { 0xd161, 0x8002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex800 },
    { 0xd161, 0x8003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex2400 },
    **{ 0xd161, 0x8005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm410 },**
    { 0xd161, 0x8006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex410 },
    { 0xd161, 0x8007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcha80000 },
    { 0xd161, 0x8008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wchb80000 },
    { 0 }
};

答案2

好吧,现在'22 同样的事情将我家里的 Asterisk 11/DAHDI 2.11 Centos7 盒子升级到 Asterisk 18.4 / DAHDI 3.2。

DAHDI 似乎不再构建。Fedora 36、Centos Stream、OpenSuse Leap 15.4 在 5.19 等新内核上失败

在 Centos7 内核 3.10 上构建成功,但dahdi_cfg对于 TDM800P 卡却失败:

空配置——无跨度

并如所述https://serverfault.com/a/989462/984790

在 DAHDI 2.7 中dahdi-linux-complete-2.7_2.7.0/linux/drivers/dahdi/wctdm24xxp/base.c,我们在行 #6071

static DEFINE_PCI_DEVICE_TABLE(wctdm_pci_tbl) = {
    { 0xd161, 0x2400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm2400 },
    { 0xd161, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm800 },
    { 0xd161, 0x8002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex800 },
    { 0xd161, 0x8003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex2400 },
    { 0xd161, 0x8005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm410 },
    { 0xd161, 0x8006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex410 },
    { 0xd161, 0x8007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcha80000 },
    { 0xd161, 0x8008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wchb80000 },
    { 0 }
};

在 dahdi 3.2 中的 base.c 第 6035 行

static DEFINE_PCI_DEVICE_TABLE(wctdm_pci_tbl) = {
    { 0xd161, 0x2400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm2400 },
    { 0xd161, 0x8003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex2400 },
    { 0xd161, 0x8007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcha80000 },
    { 0xd161, 0x8008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wchb80000 },
    { 0 }
};

将设备表从 2.7 或 3.2 恢复,构建成功。

相关内容