linux - 在 modprobe.conf 中订购相同类型、相同产品 ID 和相同供应商 ID 的多张卡

标签 linux kernel asterisk proc pbx

我们有两张具有相同供应商 ID、相同产品 ID 和相同类型的 te435 卡。 我们面临的问题是,它无法为两张不同的卡提供不同的 modprobe 选项。

# lspci
0c:00.0 Network controller: Digium, Inc. Device 800e (rev 01)
0e:00.0 Network controller: Digium, Inc. Device 800e (rev 01)

# lspci -n
0c:00.0 0280: d161:800e (rev 01)
0e:00.0 0280: d161:800e (rev 01)

我们尝试为卡片编制索引,但这对我们不起作用。

 # modprobe wcte43x default_linemode=t1 index=0
 # modprobe wcte43x default_linemode=e1 index=1

有什么方法可以在 modprobe 中订购卡片,以便可以在 modprobe 中使用不同的选项启用具有相同产品 ID、供应商 ID 的多张卡片

最佳答案

我想你不明白发生了什么。

Modprobe 行是模块的选项列表(在本例中为 wcte43x),在内核加载该模块时使用。

您有一个内核和一个加载操作,因此您无法为此加载两组不同的参数。

如果你需要不同的设置,你有以下选项

1) 更改模块本身以支持基于 pci-address 的不同参数(我认为这是最简单的方法)

2) 创建具有相同功能(和相同源代码)的另一个模块并为其他卡加载它。这里的主要问题 - 你应该为其他卡强制加载其他模块,这是有问题的

另请注意,大多数卡都有跳线,可更改 e1/t1 并忽略 default_linemode。

关于linux - 在 modprobe.conf 中订购相同类型、相同产品 ID 和相同供应商 ID 的多张卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36053637/

相关文章:

linux - 使 Eclipse 控制台按钮永久化?

linux是否可以清空一个目录下所有文件的内容

php - 如何使用 sed() 将所有\r\n 替换为不同的行尾转义序列?

linux-kernel - 前缀 printk/pr_* 调用

linux - Asterisk -如何禁用对选项的响应

linux-kernel - 如何与已经为 arm 交叉编译的 dahdi 交叉编译 Asterisk ?

c++ - 我如何判断 pthread_self 是否是进程中的主(第一个)线程?

c - "\__signed" "\__signed__"和 "signed"有什么区别?

java - 内核可以用汇编语言以外的语言编写吗?

简单程序停止编译过程的 Java 错误,请帮助