我首先尝试在Ubuntu 14.04 LTS上列出端口,但并未检测到所有端口,它只显示tty。我想访问hidraw,见下文。
我对每个人的锁文件都有读/写权限。
librxtxSerial.so适用于x86_64(我的电脑:Intel i7 4790k运行Ubuntu 64位)
dpkg --print-architecture
amd64
uname -a
Linux KrantzUbuntu 3.13.0-65-generic #106-Ubuntu SMP Fri Oct 222:08:27 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
当我列出终端中的连接端口时,我得到了:
/dev/hidraw4 - Broadcom_Corp_BCM20702A0_54271EFCD756
/dev/input/event14 - Broadcom_Corp_BCM20702A0_54271EFCD756
/dev/input/mouse1 - Broadcom_Corp_BCM20702A0_54271EFCD756
/dev/input/event2 - Logitech_Gaming_Mouse_G400
/dev/input/mouse0 - Logitech_Gaming_Mouse_G400
/dev/hidraw0 - Logitech_Gaming_Mouse_G400
/dev/usb/hiddev0 - Logitech_Gaming_Mouse_G400
/dev/hidraw1 - Logitech_Gaming_Mouse_G400
/dev/input/event3 - CM_Storm_Quickfire_TKL_6keys
/dev/hidraw2 - CM_Storm_Quickfire_TKL_6keys
/dev/input/event4 - CM_Storm_Quickfire_TKL_6keys
/dev/hidraw3 - CM_Storm_Quickfire_TKL_6keys
我想稍后使用的是/ dev / hidraw4,这是一部蓝牙手机。
我重新编译了RXTXCommDriver类,在Linux上搜索更多端口并添加:
if(osName.equals("Linux"))
{
String[] Temp = {
"sr",
"hidraw",
"usb",
"input",
"sr0",
"ttyS", // linux Serial Ports
"ttySA", // for the IPAQs
"ttyUSB", // for USB frobs
"rfcomm", // bluetooth serial device
"ttyircomm", // linux IrCommdevices (IrDA serial emu)
};
CandidatePortPrefixes=Temp;
}
但仍未列出hidraw。
答案 0 :(得分:1)
尝试以下步骤(我希望他们能帮助您解决问题):
确认您确实拥有所需的权限(例如USB0):
sudo chmod 666 /dev/ttyUSB0
注意:这只会在您重新启动计算机之前有效,因此如果它解决了您的问题,您可能想要创建一个udev规则(Google: udev usb权限)永久照顾这个问题。
我很确定你已经找到了这个片段,但万一你还没有把它留在这里:Discovering comm ports
来源(以防万一有人想阅读完整的文章/问题/答案):
RXTX can't list port on ubuntu
CommPortIdentifier.getPortIdentifiers with zero ports on Linux