Deepin Linux 安裝dnw工具

在安裝dnw驅(qū)動(dòng)時(shí)遇到如下報(bào)錯(cuò):

make -C /lib/modules/`uname -r`/build M=`pwd`/src/driver modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-30deepin-generic'
make[2]: 放棄循環(huán)依賴(lài) /home/sun/Desktop/Arm/dnw-linux/src/driver/secbulk.o <- /home/sun/Desktop/Arm/dnw-linux/src/driver/secbulk.o 。
  LD [M]  /home/sun/Desktop/Arm/dnw-linux/src/driver/secbulk.o
ld:沒(méi)有輸入文件
scripts/Makefile.build:580: recipe for target '/home/sun/Desktop/Arm/dnw-linux/src/driver/secbulk.o' failed
make[2]: *** [/home/sun/Desktop/Arm/dnw-linux/src/driver/secbulk.o] Error 1
Makefile:1552: recipe for target '_module_/home/sun/Desktop/Arm/dnw-linux/src/driver' failed
make[1]: *** [_module_/home/sun/Desktop/Arm/dnw-linux/src/driver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-30deepin-generic'
Makefile:10: recipe for target 'driver' failed
make: *** [driver] Error 2


解決辦法,參考了https://blog.csdn.net/liduxun/article/details/50709714中的方法:

  1. 修改secbulk.c的makefile,如下:
obj-m := secbulk.o
KDIR := /lib/modules/`uname -r`/build
PWD  := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
    rm -rf *.order *.symvers

  1. 修改secbulk.c 文件驅(qū)動(dòng)號(hào),修改前使用lsusb 查看設(shè)備ID,兩部分
static struct usb_device_id secbulk_table[]= {
    { USB_DEVICE(0x18d1, 0x4e26)},
    { }
};
  1. make一下,如果出現(xiàn)報(bào)錯(cuò),檢查修改的makefile里tab是否是空格此時(shí)應(yīng)該出現(xiàn)了secbulk.ko,加載此文件到內(nèi)核,sudo insmod secbulk.ko,如果沒(méi)出現(xiàn)還要找其他問(wèn)題。

  2. 查看是否加載驅(qū)動(dòng),dmesg信息中出現(xiàn)usbcore: registered new interface driver secbulk

  3. 進(jìn)入dnw文件加 make ,然后make install

  4. dnw會(huì)自動(dòng)復(fù)制到/bin, 這是調(diào)用dnw命令測(cè)試一下dnw是否安裝成功,然后接上開(kāi)發(fā)板,下載個(gè)文件試試,可以看一下ls /dev中的secbulk*是否存在,開(kāi)發(fā)板上電,我的是secbulk1 ,這時(shí)需要修改dnw.c文件const char* dev = "/dev/secbulk1"; 重新make、make install,就好了

7.開(kāi)機(jī)自動(dòng)加載該驅(qū)動(dòng),首先sudo 編輯/etc/modules,添加驅(qū)動(dòng)名稱(chēng)secbulk,不帶后綴。然后將驅(qū)動(dòng)secbulk.ko拷貝至/lib/modules/(uname -r)/kernel/drivers/下面的一個(gè)分類(lèi)中,本次我拷貝至了usb下的serial分類(lèi)。

  1. sudo depmod 更新驅(qū)動(dòng),并重啟,當(dāng)設(shè)備連接上就出現(xiàn)了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 家里臺(tái)式機(jī)已經(jīng)幾年沒(méi)用過(guò)了,本著廢物再利用的心態(tài),準(zhǔn)備做成服務(wù)器使用。記錄下來(lái)操作過(guò)程以備以后使用。 總體步驟: ...
    勇勇_cf62閱讀 3,155評(píng)論 0 1
  • make menuconfig過(guò)程解析作者 codercjg 在 28 九月 2015, 5:27 下午 make...
    codercjg閱讀 1,247評(píng)論 0 1
  • hexdump -C 查看二進(jìn)制文件 xxd:查看二進(jìn)制文件 whatis 簡(jiǎn)單描述命令的用途whatis c...
    JevonWei閱讀 966評(píng)論 0 0
  • 進(jìn)入帶空格的文件或者文件夾 Linux文件權(quán)限詳解 文件和目錄權(quán)限概述 在linux中的每一個(gè)文件或目錄都包含有訪(fǎng)...
    annkee閱讀 2,803評(píng)論 0 4
  • 一、Linux內(nèi)核模塊簡(jiǎn)介 1.1 Linux內(nèi)核模塊介紹 Linux內(nèi)核的整體結(jié)構(gòu)已經(jīng)非常龐大,而其包含的組件也...
    konishi5202閱讀 3,041評(píng)論 0 4

友情鏈接更多精彩內(nèi)容