Failed to open device
请教:ArcLinux下
[auruser@arclinux ~]$ ls -l /usr/share/ufprog/device total 36 -rw-r--r-- 1 root root 153 Oct 11 09:25 ch341-libusb.json -rw-r--r-- 1 root root 176 Oct 11 09:25 ch347f-libusb.json -rw-r--r-- 1 root root 150 Oct 11 09:25 ch347-hid.json -rw-r--r-- 1 root root 212 Oct 11 09:25 ch347-libusb.json -rw-r--r-- 1 root root 176 Oct 11 09:25 ch347t-libusb.json -rw-r--r-- 1 root root 190 Oct 11 09:25 ft2232h-libusb.json -rw-r--r-- 1 root root 169 Oct 11 09:25 ft232h-libusb.json -rw-r--r-- 1 root root 265 Oct 11 09:25 ft4222h-libusb.json -rw-r--r-- 1 root root 190 Oct 11 09:25 ft4232h-libusb.json
========================================= CH347T
dmesg
[ 2017.278390] usb 1-9: new high-speed USB device number 6 using xhci_hcd [ 2017.401810] usb 1-9: New USB device found, idVendor=1a86, idProduct=55db, bcdDevice= 5.44 [ 2017.401823] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2017.401829] usb 1-9: Product: USB To UART+SPI+I2C [ 2017.401834] usb 1-9: Manufacturer: wch.cn [ 2017.401838] usb 1-9: SerialNumber: 0123456789 [ 2017.405370] cdc_acm 1-9:1.0: ttyACM0: USB ACM device
========================================
錯誤信息- SPI是在支持list里的, 普通用户运行
[auruser@arclinux ~]$ ufsnorprog dev=ch347-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347-libusb' could be opened Failed to open device 'ch347-libusb'
[auruser@arclinux ~]$ ufsnorprog dev=ch347t-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347t-libusb' could be opened Failed to open device 'ch347t-libusb'
谢谢。
linux环境下,除非有udev rule去设置device权限,不然都需要使用sudo执行才能访问
还是没有搞定。
这是在Arc Linux上root登录后:
[ 57.731384] usb 1-9: new high-speed USB device number 4 using xhci_hcd [ 57.854820] usb 1-9: New USB device found, idVendor=1a86, idProduct=55db, bcdDevice= 5.44 [ 57.854833] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 57.854839] usb 1-9: Product: USB To UART+SPI+I2C [ 57.854844] usb 1-9: Manufacturer: wch.cn [ 57.854848] usb 1-9: SerialNumber: 0123456789 [ 57.880639] cdc_acm 1-9:1.0: ttyACM0: USB ACM device [ 57.880664] usbcore: registered new interface driver cdc_acm [ 57.880666] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [root@arclinux ~]# ufsnorprog dev=ch347-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347-libusb' could be opened Failed to open device 'ch347-libusb' [root@arclinux ~]# ufsnorprog dev=ch347t-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347t-libusb' could be opened Failed to open device 'ch347t-libusb' [root@arclinux ~]# ufsnorprog dev=ch347f-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347f-libusb' could be opened Failed to open device 'ch347f-libusb' [root@arclinux ~]# ufsnorprog dev=ch347-hid read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347-hid' could be opened Failed to open device 'ch347-hid'
######################################################
以下是刚刚我在 ubuntu 24.04下,按照您的建议sudo执行的。
[ 175.071786] usb 1-3: new high-speed USB device number 6 using xhci_hcd [ 175.223120] usb 1-3: New USB device found, idVendor=1a86, idProduct=55db, bcdDevice= 5.44 [ 175.223130] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 175.223134] usb 1-3: Product: USB To UART+SPI+I2C [ 175.223138] usb 1-3: Manufacturer: wch.cn [ 175.223141] usb 1-3: SerialNumber: 0123456789 [ 175.271053] cdc_acm 1-3:1.0: ttyACM0: USB ACM device [ 175.271076] usbcore: registered new interface driver cdc_acm [ 175.271078] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters jzhou@ubuntu2404:~$ sudo ufsnorprog dev=ch347-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347-libusb' could be opened Failed to open device 'ch347-libusb' jzhou@ubuntu2404:~$ sudo ufsnorprog dev=ch347t-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347t-libusb' could be opened Failed to open device 'ch347t-libusb' jzhou@ubuntu2404:~$ sudo ufsnorprog dev=ch347f-libusb read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347f-libusb' could be opened Failed to open device 'ch347f-libusb' jzhou@ubuntu2404:~$ sudo ufsnorprog dev=ch347-hid read 001.bin Universal flash programmer for SPI-NOR 1.0 Author: Weijie Gao [email protected]
[ERROR] No interface device named 'ch347-hid' could be opened Failed to open device 'ch347-hid'
这是在windows11下
D:\Drivers\FLASH WRITER\CH347T\ufprog-win64-mingw-msvcrt-2023-09-18>ufsnorprog dev=ch347 read 001.bin Universal flash programmer for SPI-NOR 1.0 [Portable] Author: Weijie Gao [email protected]
Loaded controller plugin WCH CH347 (DLL) CH347-DLL: Opened device 0 in UART1+SPI+I2C VCP mode Opened interface device 'ch347' using driver 'ch347-dll'
Manufacturer: Winbond Part: W25Q128FV Capacity: 16MB Clock: 60MHz
Reading from flash at 0x0, size 0x1000000 ... [========================================================================] 100% Time used: 2.56s, speed: 6.26MB/s Succeeded
读取SPI NAND 型号:DS35Q2GA-IB # 我看是在您的FLASH SUPPORT LISt里的 spi device id: ff e5 72 e5 72 (e572e572) mfr_id = 0xe5, dev_id = 0x72, dev_id_2 = 0xe5
D:\Drivers\FLASH WRITER\CH347T\ufprog-win64-mingw-msvcrt-2023-09-18>ufsnandprog dev=ch347 read 001.bin Universal flash programmer for SPI-NAND 1.0 [Portable] Author: Weijie Gao [email protected]
Loaded controller plugin WCH CH347 (DLL) CH347-DLL: Opened device 0 in UART1+SPI+I2C VCP mode Opened interface device 'ch347' using driver 'ch347-dll'
Flash chip not recognised #无法识别
windows版本里面,在ufsnandprog.exe相同位置,编辑ufsnandprog.json(ufsnorparg也是一样,创建同名json),增加如下内容:
{
"log-level": 0
}
然后再试试
linux版的,看你编译的是不是portable版本,如果是,也是在和程序相同的目录里面防止
H大好,按照你的建议,我新建了ufsnandprog.json(本来没有,并加入了log开关)
输出如下:谢谢了!
D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18>ufsnandprog dev=ch347 read 001.bin Universal flash programmer for SPI-NAND 1.0 [Portable] Author: Weijie Gao [email protected]
(Debug) Trying to load config 'D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18\spi-nand-ids.json' (Debug) Opened config 'spi-nand-ids' (Debug) SPI-NAND: Copied built-in vendor 'winbond' (Winbond) Notice: SPI-NAND: Successfully loaded external flash table (Debug) Trying to load config 'D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18\ufsnandprog.json' (Debug) Opened config 'ufsnandprog' (Debug) Trying to load interface device config 'D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18\device\ch347.json' Notice: Interface type specified in device config is compatible (Debug) Trying loading controller plugin 'D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18\plugin\controller\ch347-dll.dll' Notice: 'D:\Drivers\FLASH WRITER\ufprog-win64-mingw-msvcrt-2023-09-18\plugin\controller\ch347-dll.dll' loaded as controller plugin (Debug) CH347-DLL: Loaded ch347dlla64.dll Loaded controller plugin WCH CH347 (DLL) CH347-DLL: Opened device 0 in UART1+SPI+I2C VCP mode Opened interface device 'ch347' using driver 'ch347-dll'
Notice: SPI-NAND: Unable to identify SPI-NAND chip using JEDEC ID (Error) SPI-NAND: Unable to identify SPI-NAND chip Flash chip not recognised
我看你说明里是支持这个SPI NAND, 是否我还需要在spi-nand-ids.json自行加入呢?
===============================================
在Linux下, Ubuntu和Arc 按照你的主页建议编译的,
git clone https://github.com/hackpascal/ufprog.git
cd ufprog
cmake -DCMAKE_BUILD_TYPE=None
-DBUILD_PORTABLE=OFF
-DCMAKE_INSTALL_PREFIX=/usr
-B build
-G Ninja
ninja -C build
ninja -C build install
和
yay -Syu ufprog
请问如何区别portable版? 另外如何编译出windows portable 版?
-DBUILD_PORTABLE=OFF 表明不是 portable 版,改成ON才行。然后linux portable版就不要直接install到/usr了。改个DESTDIR,例如 DESTDIR=~/ufprog 之类的
此外
Notice: SPI-NAND: Unable to identify SPI-NAND chip using JEDEC ID
(Error) SPI-NAND: Unable to identify SPI-NAND chip
Flash chip not recognised
说明flash id确实没匹配上,或者接触不良没读出来 目前看来代码里面缺少打印ID的log,后面考虑加上吧
另外对于linux非portable版,json要放在 ~/.ufprog 或者 $XDG_CONFIG_HOME/ufprog 里面(如果 XDG_CONFIG_HOME 不为空的话)