我正在将 Linux 程序移植ddcutil
到 FreeBSD。在 Linux 上,它读取和写入设备,这些设备是显卡 I2C 总线并由驱动程序公开。/dev/i2c-N
i2c-dev
在FreeBSD上,我的理解是相应的设备被命名(参见/dev/iicN
国际集成电路(4))并被暴露iicbus
司机。我已经加载了 i2c 驱动程序iicbus.ko
、iic.ko
和视频驱动程序nvidia.ko
,但设备不存在。我缺少什么?
kldstat 输出:
root@ritter:/ # kldstat
Id Refs Address Size Name
1 56 0xffffffff80200000 2448d90 kernel
2 1 0xffffffff8264a000 134d1e0 nvidia.ko
3 6 0xffffffff83998000 9698 linux_common.ko
4 2 0xffffffff839a2000 b7bd8 linux.ko
5 1 0xffffffff83a5a000 3910 iic.ko
6 2 0xffffffff83a5e000 6da0 iicbus.ko
7 1 0xffffffff83c21000 494c linprocfs.ko
8 1 0xffffffff83c26000 1eae linsysfs.ko
9 1 0xffffffff83c28000 88d8 tmpfs.ko
10 1 0xffffffff83c31000 18a0 uhid.ko
11 1 0xffffffff83c33000 2928 ums.ko
12 1 0xffffffff83c36000 1aa0 wmt.ko
13 1 0xffffffff83c38000 35b20 linux64.ko
答案1
i2c
/总线所需的驱动程序iic
应该已经是您的 FreeBSD 的一部分,因为它们自 以来一直是 FreeBSD 的一部分FreeBSD 10.0-Stable
。
然而我已经看出你失踪了
iicbb
- 通用 bit-banging 驱动程序
iicsmb
- I2C 到 SMB 桥接器
构建内核时,请检查内核配置文件中的 smbus 和 i2c 设备驱动程序:
device smbus
device smb
device iicbus
device iicbb
device iic
device iicsmb
之后,您应该在输出中看到iic*
设备dmesg | grep iic