我正在设置 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 恢复,构建成功。