概述
Pi Zero問世時,低成本設計的缺點(?。┚褪菍ⅰ皹藴省?USB A端口換成micro-B端口?,F在,您必須使用“ OTG”電纜,而不僅僅是插入設備。
還有一個問題,如果您沒有將任何東西連接到USB,并使用舊的Raspbian圖像,您會得到一個奇怪的警告
WARN::dwc_otg_handle_mode_mismatch_intr:68: Mode Mismatch Interrupt: currently in Device mode
基本上,Pi排序試圖成為 usb設備而不是 usb主機
github上的一些很棒的人整理出,如果您使用DWC2 USB驅動程序并修補了一些文件,則可以使Pi像USB一樣工作設備(在linux-land中,這稱為 USB Gadget 系統)
Thx,以了解來自Andrew的提示,截至2016年5月,Raspbian Jessie不需要新的內核
本教程基本上只是關于如何將Pi變為零的 USB串行設備或以太網設備的文章。只需插入micro B電纜,便可以通過兩種方式連接到Pi零!
,您甚至不需要為樹莓派單獨供電。 》 截至2016年5月,Raspbian Jessie已內置內核支持-本教程更加簡單!
是的,小工具系統可以做很多事情,但這是我們到目前為止測試的兩個模塊。如果您想嘗試其他USB小工具,則編譯后的內核程序包幾乎會將每個USB小工具都作為模塊編譯進來
開始之前
本教程并非很難,但您應該擁有一些樹莓派經驗。特別是,您將需要先進行以下操作
將Rasbian Jessie Lite(或者只是純Jessie)的副本刻錄到4G或8G SD卡上。
微型USB電纜
對于小工具串行端口,您還需要
使用2x20公頭連接器焊接或以某種方式能夠連接一根控制臺電纜連接到您的Pi Zero上
擁有一根USB控制臺電纜,并能夠從臺式計算機通過串口登錄到您的Pi上
但您沒有需要控制臺電纜,將命令復制并粘貼到終端中比在鍵盤和顯示器中鍵入要容易得多。
基本上,將Pi設置為零即可登錄。從電源USB端口,將數據USB端口保留為“空”
確定現在,您可以繼續!
串行小工具
我們將從串行小工具開始,它是USB小工具的“最簡單”?;旧峡梢宰龅竭@一點,因此,當您將Pi Zero插入計算機時,它將作為串行(COM)端口彈出-這種技術的優點是您可以將pi與任何計算機和操作系統,它不需要特殊的驅動程序或配置。
Thx,來自Andrew的提示,截至2016年5月,Raspbian Jessie不需要新的內核
我們正在使用Jessie Lite,但是普通的Jessie Raspbian也應該可以使用!您需要2016年5月或更晚(經過2016-05-27測試)
本教程提供了詳細信息
步驟1。編輯config.txt和cmdline.txt
刻錄SD卡后,請勿將其從計算機中彈出!使用文本編輯器打開SD卡刻錄后的 config.txt 文件。
轉到底部并在最后添加dtoverlay=dwc2行:
將config.txt文件另存為純文本,然后打開cmdline.txt。在 rootwait (第一行的最后一個單詞)之后,添加一個空格,然后modules-load=dwc2,g_serial
在在撰寫本文時,這是完整的cmdline.txt內容(以防您需要重新開始)。請注意,這是一條很長的行
下載:文件
復制代碼
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_serial quiet init=/usr/lib/raspi-config/init_resize.sh dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_serial quiet init=/usr/lib/raspi-config/init_resize.sh
登錄到Pi Zero上
將SD插入Pi Zero,連接控制臺電纜,為Pi供電并通過USB控制臺登錄。
在啟動時,或者在運行 sudo時更新dmesg ,您會看到它綁定了驅動程序 g_serial
設置通過串行小工具登錄Pi Zero
好吧,因為您有串行端口并不意味著您可以使用它登錄。 Pi知道它具有串行端口,但是您必須將其綁定到控制臺。您可以使用以下命令非常輕松地做到這一點:
sudo systemctl enable [受電子郵件保護]
(不要忘記sudo就像我剛開始一樣?。?/p>
然后您可以使用
sudo systemctl處于活動狀態[已受電子郵件保護]
那。..差不多。運行 sudo reboot 來啟動Pi Zero。將USB Micro電纜從計算機連接到Pi Zero。
Don‘別忘了將計算機的USB電纜插入Pi Zero的“ USB”連接器端口,而不是PWR連接器。
雖然Zero為重新啟動后,您會看到它已加載 g_cdc 模塊,該模塊提供“ CDC USB串行支持”(CDC代表“通信設備類”)
在計算機上,您會看到一個新的串行端口已創建。檢查Windows設備驅動程序:
在Mac上,它將是一個名為/dev/tty.usbmodemNNNN 的新設備,其中NNNN可以是任何數字
使用串行端口軟件登錄到您的Pi上
確定,現在您的Pi重新啟動并再次獲得該USB串行設備,您可以連接到設置為 115200 波特(如果需要設置,則為8N1 8位無奇偶校驗1停)
,您可以斷開控制臺電纜的連接,以免混淆USB控制臺電纜和直接控制臺連接(因為它們都具有COM/Serial端口)
由于臺式計算機將通過USB小工具端口為Pi供電,因此您也可以拔掉“ Power USB”端口的電源線。/p》
您可能必須按回車幾次才能獲取提示登錄提示。就是這樣!現在,您已直接連接到Pi Zero
Ethernet Gadget
Ethernet Gadget設置起來有點困難,但是功能卻強大得多,因為您可以通過隧道連接網絡,VNC,ssh和scp文件等。 。基本上,您可以登錄控制臺以及通過網絡連接進行的其他任何操作
請注意,即使它被稱為“以太網小工具”,您也不會使用以太網電纜!。唯一的電纜是從計算機到Pi Zero的USB micro-B電纜。 Pi像以太網設備一樣“出現”。
您甚至可以共享臺式計算機的網絡設置,以便您的Pi可以通過USB電纜通過計算機訪問Internet!爽吧?
Thx,了解來自Andrew的提示,截至2016年5月,Raspbian Jessie不需要新內核,并且默認情況下具有raspberrypi.local設置,因此非常容易
第0步。下載并安裝最新的Jessie
我們正在使用Jessie Lite,但普通的Jessie Raspbian也應該可以使用!我們使用的是Jessie Lite,但普通的Jessie Raspbian也可以使用!您需要2016年5月或更晚(經過2016-05-27測試)
本教程提供了詳細信息
步驟1。編輯config.txt和cmdline.txt
刻錄SD卡后,請勿將其從計算機中彈出!使用文本編輯器打開SD卡刻錄后的 config.txt 文件。
轉到底部并在最后添加dtoverlay=dwc2行:
將config.txt文件另存為純文本,然后打開cmdline.txt。在 rootwait (第一行的最后一個單詞)之后,添加一個空格,然后modules-load=dwc2,g_ether
使用USB啟動您的Pi
將MicroUSB電纜從Pi Zero的USB端口插入您的計算機
別忘了將USB電纜從計算機插入Pi Zero上的“ USB”連接器端口,而不是PWR連接器。
如果您有控制臺電纜,則可以觀看Zero的控制臺以查看其啟用狀態 g_ether 設備:
SSH!
如果您在Pi上啟用了SSH,則還可以通過SSH登錄到 raspberrypi.local
首先啟用SSH
如果您使用的是Mac或Linux,則可能已經安裝了Bonjour。在Windows上,您可能需要添加Bonjour支持,以便它知道如何處理.local名稱
高級網絡(固定IP)
如果您出于某種原因需要管理固定的IP地址-這是管理Pi的Gadget以太網設備的一些有用技術。否則,您始終可以繼續使用 raspberrypi.local
?,F在,您可以登錄并檢查是否有一個名為 usb0 的新網絡設備。 p》
sudo ifconfig -a
立即嘗試將Pi Zero插入計算機。例如,在Mac上,我們將其插入
如上所示,在第一個ifconfig和第二個之間,網絡提供了一個地址。問題是這是一個任意(分配了Bonjour/Zero Conf的)地址,我們不想猜測它。
我們可以將該設備配置為具有固定地址(這樣可以更輕松地查找一個網絡!)
sudo nano/etc/network/interfaces
并在末尾添加
下載:文件
復制代碼
allow-hotplug usb0
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1 allow-hotplug usb0
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1
這將為 Raspberry Pi提供IP地址192.168.7.2
,您可以將其更改為其他地址,但是除非您確定192.168.7。*不可用,否則請保持上面的狀態。
保存文件并運行
sudo ifdown usb0 (這可能是失敗,就可以了)
sudo ifup usb0
ifconfig usb0
驗證它現在是否具有192.168.7.2地址
現在,在您的計算機上,您也需要對其進行設置。
如果您使用Mac作為主機
在在Mac OS X計算機上,打開系統偏好設置 -》網絡框。
您將看到該設備顯示為RNDIS/以太網小工具??赡苣J情況下會為DHCP設置它,因此將其更改為手動配置IP4
對于IP地址,請選擇 192.168.7.1 (請注意,這與Pi Zero的地址不同!)
對于子網掩碼,請使用 255.255.255.0 (與Pi相同)
對于路由器/網關,請使用 192.168.7.1 (與Pi相同)
如果您未在Pi上使用上面建議的netconfig,則可能需要對此進行調整一個要匹配的
完成后單擊應用,然后等待一分鐘左右,您將得到一個綠點:
如果您仍然遇到問題,讀者報告說某些Mac需要在g_ether上使用特殊選項設備。使用控制臺電纜登錄到Pi后,運行sudo nano/etc/modprobe.d/g_ether.conf
并在其自己的行的最后添加:options g_ether use_eem=0
。
重新啟動或手動加載模塊后,RNDIS/CNC小工具在分配IP后將先變黃然后變為綠色。
您可以使用計算機上的終端進行檢查IP地址已設置,您的設備將被稱為 enX ,其中X是一些數字,請使用 ifconfig -a 查看所有設備的列表,可能是Pi是最后一個。
一旦看到設置了IP地址,請嘗試使用
ping 192.168.7.2
老實說,我在設置網絡配置文件后重新啟動了Pi,因此,如果一開始它不起作用,請嘗試一下。
接下來,您可以在Mac上將ssh放入pi!
ssh [受電子郵件保護]
如果您使用Windows作為主機
將Pi Zero插入計算機中,則我使用的是Windows 7 64位。它將自動下載并安裝RNDIS以太網驅動程序
某些版本的Windows可能會將PI誤解為COM端口,您必須通過右鍵單擊》更新驅動程序軟件》瀏覽我的設備,在設備管理器中手動強制使用或安裝Microsoft RNDIS驅動程序計算機》從列表中選擇》網絡適配器》 Microsoft》與NDIS兼容的遠程設備。
檢查設備管理器以確認它是新的網絡適配器
打開網絡和共享中心 》,然后單擊更改適配器設置
您將看到所有擁有的無數適配器的列表。我有很多,但是您可能只有2個或3個。找到RNDIS適配器并將其重命名為 pizero (使查找更容易)
然后右鍵單擊并選擇屬性。 。
,然后從連接列表中選擇 Internet協議版本4(TCP/IPv4),然后單擊屬性
輸入 192.168.7.1 作為計算機的IP地址和網關(網關后來被刪除,我認為Windows會自動使用該IP地址,如果它們相同),子網掩碼為 255.255.255.0 與Pi的相同
沒有DNS地址
我拔出并重新插入了Pi Zero,W然后indow會識別網絡。
現在您可以使用命令框,如果要查看連接的統計信息,請運行 ipconfig/all
和 ping 192.168.7.2 (即pi)
,甚至還有 ssh!
以太網調整
使用mDNS/Bonjour命名
如果您不想記住您的Pi的IP地址,則不必! Jessie Lite包含并自動啟用 avahi ,可讓您使用諸如 raspberrypi.local
之類的名稱。如果由于某種原因未激活它,我們將提供完整的教程這將幫助您進行設置。
不要忘記,Windows沒有本地Bonjour支持,因此請下載并安裝Bonjour打印服務!
(在上面的教程中找到有關安裝位置/方式的鏈接,您只需安裝一次)
因此,在ping后正在執行。..嘗試 ping raspberrypi.local
或者對于ssh來說也很好:
將網絡訪問權限共享給您的Pi
在OS X上,打開系統首選項的網絡標簽。
從配置IPv4 中選擇手動,選擇現有的 CDC 或 RNDIS 與Raspberry Pi的USB連接。 》菜單。將 192.168.2.1 用于 IP地址,并將 255.255.255.0 用于子網掩碼。單擊應用保存更改。
然后,在系統偏好設置中打開共享標簽。
打開 Internet共享以從Wi共享您現有的Internet連接-Fi或具有 CDC 或 RNDIS Raspberry Pi連接的以太網。
在Pi上編輯您的/etc/network/interfaces文件,使其與下面的文件匹配。
下載:文件
復制代碼
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and ’man dhcpcd.conf‘
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo usb0
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug usb0
iface usb0 inet manual # interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and ’man dhcpcd.conf‘
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo usb0
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug usb0
iface usb0 inet manual
重要的幾行是:
下載:file
復制代碼
auto lo usb0 auto lo usb0
,還有:
下載:文件
復制代碼
allow-hotplug usb0
iface usb0 inet manual allow-hotplug usb0
iface usb0 inet manual
使用 sudo reboot 重新啟動您的Pi,然后使用 ssh SSH重新登錄到它[受電子郵件保護] 。然后,您可以嘗試 ping google.com。
下載:文件
復制代碼
$ ping -c 5 google.com
PING google.com (216.58.219.238): 56 data bytes
64 bytes from 216.58.219.238: icmp_seq=0 ttl=55 time=20.975 ms
64 bytes from 216.58.219.238: icmp_seq=1 ttl=55 time=20.904 ms
64 bytes from 216.58.219.238: icmp_seq=2 ttl=55 time=20.646 ms
64 bytes from 216.58.219.238: icmp_seq=3 ttl=55 time=20.401 ms
64 bytes from 216.58.219.238: icmp_seq=4 ttl=55 time=20.379 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 20.379/20.661/20.975/0.247 ms $ ping -c 5 google.com
PING google.com (216.58.219.238): 56 data bytes
64 bytes from 216.58.219.238: icmp_seq=0 ttl=55 time=20.975 ms
64 bytes from 216.58.219.238: icmp_seq=1 ttl=55 time=20.904 ms
64 bytes from 216.58.219.238: icmp_seq=2 ttl=55 time=20.646 ms
64 bytes from 216.58.219.238: icmp_seq=3 ttl=55 time=20.401 ms
64 bytes from 216.58.219.238: icmp_seq=4 ttl=55 time=20.379 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 20.379/20.661/20.975/0.247 ms
如果使用Windows,請打開網絡和共享中心,然后單擊更改適配器設置
右鍵單擊您的Internet連接,然后選擇 P 物品。
選擇共享標簽。如果尚未選中該復選框,則單擊它。然后單擊選擇專用網絡連接,然后從下拉列表中選擇 PiZero 。
使用 sudo reboot 重新啟動您的Pi,然后使用 ssh [emailprotected] SSH重新登錄。然后,您可以嘗試 ping google.com。
下載:文件
復制代碼
$ ping -c 5 google.com
PING google.com (216.58.219.238): 56 data bytes
64 bytes from 216.58.219.238: icmp_seq=0 ttl=55 time=20.975 ms
64 bytes from 216.58.219.238: icmp_seq=1 ttl=55 time=20.904 ms
64 bytes from 216.58.219.238: icmp_seq=2 ttl=55 time=20.646 ms
64 bytes from 216.58.219.238: icmp_seq=3 ttl=55 time=20.401 ms
64 bytes from 216.58.219.238: icmp_seq=4 ttl=55 time=20.379 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 20.379/20.661/20.975/0.247 ms $ ping -c 5 google.com
PING google.com (216.58.219.238): 56 data bytes
64 bytes from 216.58.219.238: icmp_seq=0 ttl=55 time=20.975 ms
64 bytes from 216.58.219.238: icmp_seq=1 ttl=55 time=20.904 ms
64 bytes from 216.58.219.238: icmp_seq=2 ttl=55 time=20.646 ms
64 bytes from 216.58.219.238: icmp_seq=3 ttl=55 time=20.401 ms
64 bytes from 216.58.219.238: icmp_seq=4 ttl=55 time=20.379 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 20.379/20.661/20.975/0.247 ms
其他模塊!
串行和以太網是最容易使用的模塊,但與Linux內核支持的 only 小工具相去甚遠。您還可以嘗試以下選項:
大容量存儲(您可以將Pi展示為“ USB密鑰”磁盤驅動器)-注意,我們沒有使其順利運行并枚舉,但在Windows機器上無法訪問對備份文件的磁盤
MIDI -顯示為“本地” USB MIDI音頻設備
HID -在主機上以鼠標/鍵盤/游戲桿的形式出現
音頻-以音頻/揚聲器的形式顯示
復合-可以使用串行/以太網/大容量存儲復合設備。請注意,這可能適用于Mac或Linux,但對于Windows,您需要自定義驅動程序
打印機,網絡攝像頭等-大約還有十二種選擇
有關更多詳細信息,請查看USB gadget API框架頁面
Sunxi也有一個方便的頁面
我們將所有可用的USB gadget模塊編譯到了2015年12月25日(或之后)內核tgz。您可以使用 modprobe 或編輯/etc/modules 文件以啟用它們來啟用它們。如果他們需要選項,請在/etc/modprobe.d/usbgadget.conf 或類似的
中為這些選項創建一個新文件。特別是,以下是可用的模塊:
下載:文件
復制代碼
#
# USB Peripheral Controller
#
# CONFIG_USB_FUSB300 is not set
# CONFIG_USB_FOTG210_UDC is not set
# CONFIG_USB_GR_UDC is not set
# CONFIG_USB_R8A66597 is not set
# CONFIG_USB_PXA27X is not set
# CONFIG_USB_MV_UDC is not set
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_BDC_UDC is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_F_ACM=m
CONFIG_USB_F_SS_LB=m
CONFIG_USB_U_SERIAL=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_F_SERIAL=m
CONFIG_USB_F_OBEX=m
CONFIG_USB_F_NCM=m
CONFIG_USB_F_ECM=m
CONFIG_USB_F_EEM=m
CONFIG_USB_F_SUBSET=m
CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
CONFIG_USB_F_MIDI=m
CONFIG_USB_F_HID=m
CONFIG_USB_F_PRINTER=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
# CONFIG_GADGET_UAC1 is not set
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
CONFIG_USB_FUNCTIONFS_ETH=y
CONFIG_USB_FUNCTIONFS_RNDIS=y
CONFIG_USB_FUNCTIONFS_GENERIC=y
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_ACM_MS=m
CONFIG_USB_G_MULTI=m
CONFIG_USB_G_MULTI_RNDIS=y
CONFIG_USB_G_MULTI_CDC=y
CONFIG_USB_G_HID=m
CONFIG_USB_G_DBGP=m
# CONFIG_USB_G_DBGP_PRINTK is not set
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_USB_G_WEBCAM=m
# CONFIG_USB_LED_TRIG is not set
# CONFIG_UWB is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set #
# USB Peripheral Controller
#
# CONFIG_USB_FUSB300 is not set
# CONFIG_USB_FOTG210_UDC is not set
# CONFIG_USB_GR_UDC is not set
# CONFIG_USB_R8A66597 is not set
# CONFIG_USB_PXA27X is not set
# CONFIG_USB_MV_UDC is not set
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_BDC_UDC is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_F_ACM=m
CONFIG_USB_F_SS_LB=m
CONFIG_USB_U_SERIAL=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_F_SERIAL=m
CONFIG_USB_F_OBEX=m
CONFIG_USB_F_NCM=m
CONFIG_USB_F_ECM=m
CONFIG_USB_F_EEM=m
CONFIG_USB_F_SUBSET=m
CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
CONFIG_USB_F_MIDI=m
CONFIG_USB_F_HID=m
CONFIG_USB_F_PRINTER=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
# CONFIG_GADGET_UAC1 is not set
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
CONFIG_USB_FUNCTIONFS_ETH=y
CONFIG_USB_FUNCTIONFS_RNDIS=y
CONFIG_USB_FUNCTIONFS_GENERIC=y
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_ACM_MS=m
CONFIG_USB_G_MULTI=m
CONFIG_USB_G_MULTI_RNDIS=y
CONFIG_USB_G_MULTI_CDC=y
CONFIG_USB_G_HID=m
CONFIG_USB_G_DBGP=m
# CONFIG_USB_G_DBGP_PRINTK is not set
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_USB_G_WEBCAM=m
# CONFIG_USB_LED_TRIG is not set
# CONFIG_UWB is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
編譯您自己的內核?這是我們使用的v4.4 .config
您還必須修補“通用” rpi覆蓋,如下所示
舊內核安裝
這是較舊的,不再需要的技術-已記錄如果需要的話!
第0步。下載新的內核包
將以下內容下載到臺式機上:
下載模塊化小工具TGZ文件
并將其重命名為 gadgetkernel.tgz
步驟1.將新內核復制到SD卡
將新內核文件復制到Jessie Lite卡的 boot 目錄中??啼浲闟D映像后,請不要彈出它。將 kernel.tgz 文件拖到SD卡上。這樣,您無需網絡即可將內核移植到Pi中
步驟2。登錄到Pi零
將SD插入Pi Zero,連接控制臺電纜,為Pi供電并通過USB控制臺登錄。
第3步。解壓縮新的內核包
解壓縮并安裝內核.tgz文件
運行以下命令:
cd?
sudo mv/boot/gadgetkernel.tgz。
tar -xvzf gadgetkernel.tgz
您會看到一長串以 tmp/boot/kernel.img
結尾的文件名div》
您可能會看到一堆關于未來時間戳記的抱怨,這完全可以
步驟4。備份并安裝新內核
運行
sudo mv/boot/kernel.img/boot/kernelbackup.img
進行當前內核的備份。現在運行
sudo mv tmp/boot/kernel.img/boot
您可能會看到有關保留所有權的投訴,您可以忽略它們
第5步。安裝疊加層和模塊
運行命令以安裝新的覆蓋物和模塊
sudo mv tmp/boot/overlays/*/boot/overlays
sudo mv tmp/boot/* dtb/boot
sudo cp -R tmp/boot/modules/lib/*/lib
小工具序列!
現在,我們將告訴Pi我們要使用 g_serial 模塊
運行
sudo nano/etc/modules
并添加 g_serial 放在最后一行,然后保存
此步驟繼續進行串行小工具的其余設置和測試
小工具以太網!
現在,我們告訴Pi我們要使用 g_ether 模塊
運行
sudo nano/etc/modules
,然后添加 g_ether 放在最后一行,然后保存
責任編輯:wv
-
usb
+關注
關注
60文章
7976瀏覽量
265507 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105795
發布評論請先 登錄
相關推薦
評論