1. 程式人生 > >USB Gadgets的設定

USB Gadgets的設定

USB Gadgets

ckuethe edited this page on 22 Jun 2015 · 6 revisions

On the USB Armory

#!/bin/bash

# assumes a disk image exists here...
FILE=/home/usbarmory/usbdisk.img
mkdir -p ${FILE/img/d}
mount -o loop,ro,offset=1048576 -t ext4 $FILE ${FILE/img/d}
cd /sys/kernel/config/usb_gadget/

mkdir -p usbarmory
cd usbarmory
#echo '' > UDC

echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
echo 0x0200 > bcdUSB # USB2

mkdir -p strings/0x409
echo "fedcba9876543210" > strings/0x409/serialnumber
echo "Inverse Path" > strings/0x409/manufacturer 
echo "USB Armory" > strings/0x409/product 

N="usb0"
mkdir -p functions/acm.$N
mkdir -p functions/ecm.$N
mkdir -p functions/hid.$N
mkdir -p functions/mass_storage.$N

# first byte of address must be even
HOST="48:6f:73:74:50:43" # "HostPC"
SELF="42:61:64:55:53:42" # "BadUSB"
echo $HOST > functions/ecm.$N/host_addr
echo $SELF > functions/ecm.$N/dev_addr

echo 1 > functions/mass_storage.$N/stall
echo 0 > functions/mass_storage.$N/lun.0/cdrom
echo 0 > functions/mass_storage.$N/lun.0/ro
echo 0 > functions/mass_storage.$N/lun.0/nofua
echo $FILE > functions/mass_storage.$N/lun.0/file

echo 1 > functions/hid.0/protocol
echo 1 > functions/hid.0/subclass
echo 8 > functions/hid.0/report_length
echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > functions/hid.0/report_desc


C=1
mkdir -p configs/c.$C/strings/0x409
echo "Config $C: ECM network" > configs/c.$C/strings/0x409/configuration 
echo 250 > configs/c.$C/MaxPower 
ln -s functions/acm.$N configs/c.$C/
ln -s functions/ecm.$N configs/c.$C/
ln -s functions/mass_storage.$N configs/c.$C/
ln -s functions/hid.$N configs/c.$C/

# it took a little while to find out that the i.MX53 uses
# a ChipIdea core and thus "ci_hdrc.0" is the right driver 
#echo ci_hdrc.0 > UDC

# this lists available UDC drivers
ls /sys/class/udc > UDC

ifconfig $N 10.0.0.1 netmask 255.255.255.252 up
route add -net default gw 10.0.0.2

On the Host

rmmod cdc_subset
ifconfig usb0 10.0.0.2 netmask 255.255.255.252 up
/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -o wlan0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Future Plan

  • insert blank microsd
  • use imx_usb_loader inject custom u-boot that defaults to usb-SerialConsole, and export up to the first 1GB of mmc0 as mass storage
  • partition, format, install over usb
  • use serial console to configure uBoot
  • reboot

Approaches to Multifunction Devices

  • monolithic composite module?
  • how to route some functions to kernel (eem, acm) and some to userland (smartcard)
  • how to dynamically reconfigure; add remove function without disturbing others? emulate hub?

Links

相關推薦

USB Gadgets設定

USB Gadgets ckuethe edited this page on 22 Jun 2015 · 6 revisions On the USB Armory #!/bin/bash # assumes a disk image exists here..

linux使用USB轉串列埠驅動設定

【一】、驅動相關說明: 如果直接使用串列埠線,而沒有用到USB轉串列埠裝置,就不需要安裝驅動。 如果使用了USB轉串列埠,一般情況下也不需要安裝驅動了,目前linux系統已經包含了該驅動,可以自動識別,亦可通過以下命令檢視以便確認是否支援。 檢視模組裝載的情況: 引用 lsmod |

不連線usb對手機進行操作(設定步驟)

import subprocess import re #1.電腦和手機連線的wifi處於同一個網段;2.手機連線usb後執行指令碼。斷開usb可繼續操作手機 class Connection(object): def connect_adb_tcpip(self): a

【轉】USB 協議分析 設定USB地址 和 配置-字串描述符

USB協議深入分析 設定USB地址   前面已經解釋主控器怎麼樣傳送裝置描述符下來,然後裝置返回相應的裝置描述符。下一步主控器的動作是做什麼呢?由於在USB總線上的裝置有很多,為了區分不同的裝置通訊,就需要給每個裝置分配一個地址,這跟網路中的IP

linux下USB轉串列埠的設定

在linux下利用簡訊modem傳送簡訊,由於簡訊modem使用的是USB串列埠轉換器(晶片為PL2303),把在配置和除錯的過程和方法在此記錄下,希望給有同樣需求的同仁提供一點幫助。 【一】、驅動相關說明:如果直接使用串列埠線,而沒有用到USB轉串列埠裝置,就不需要安裝驅

USB掃描槍設定流程 掃描槍使用

第一步:安裝驅動      將光碟放到光碟機中,開啟後找到Symbol+COM+Port+Emulation+Driver+v+1.8.5.zip壓縮包,減壓後點擊安裝。壓縮包如下如圖所示: 第二步:設定掃描槍 1:將掃描槍安裝在工控機上。 掃描槍為USB口,可安裝在工控

Win10 Hyper-V設定檔案、訪問USB裝置

前言 之前使用了Win10 Hyper-V建立虛擬機器,那麼如何向虛擬機器中匯入資料呢,如此重要的步驟,如下展示。 設定共享檔案 1.找到建立虛擬機器資料夾時的目錄下的Virtual Hard Disks資料夾xiade字尾為vhdx的磁碟映像檔案(如果沒有,則說明沒有建立)

USB連線方式”設定介面 (MTP,PTP,UMS)

“USB連線方式”設定介面 選擇MTP,PTP,UMS的選項介面就定義在UsbSettings.java,選擇其中一個選項時會執行以下程式碼。 packages/apps/Settings/src/com/android/settings/deviceinfo/UsbSettings.java

【工具設定】usb001 usb002 (Virtual Printer Port for USB) 有什麼區別 印表機驅動裝不上 沒有usb001

http://blog.sina.com.cn/s/blog_5e4ec4e101017df7.html usb001 usb002 (Virtual Printer Port for USB) 與之並列的LTP1(推薦的印表機埠)都是真實的,在機箱背面能找得到

VirtualBox虛擬機器中使用U盤等USB裝置的設定方法

http://www.hellonet8.com/618.html Under 好軟體&應用 | 十月 30th, 2011 | 被圍觀 59 次 | 沒有回覆 分享到:2 預設安裝完Virtualbox,新建系統後,插入U盤,實機可以使用,但是虛擬機器中

電源故障導致的USB接口失效

電源故障導致的usb接口失效案例:USB接口不好用,串口可以正常使用解決辦法:更換電源故障解除本文出自 “記錄點滴技術” 博客,請務必保留此出處http://seawind.blog.51cto.com/6845370/1922490電源故障導致的USB接口失效

DataGridView使用技巧十二:DataGridView Error圖標表示的設定

needed errors 但是 應該 就會 aso void private pass 為了提醒用戶註意,DataGridView可以使用Error圖標來突出顯示。 Error圖標可以在單元格和行頭內表示,但不能在列頭上顯示。 1、ErrorText屬性 當設定單元格/行

類型初始值設定項引發異常的解決方法

實例 nbsp fig str winform 引用 setting .config orm 1、檢查類中的靜態字段或屬性,確保其能夠正常的完成初始化 2、在類的構造函數中,確保其訪問的屬性或字段都已經完成初始化 3、如果是WinForm中,將訪問的窗體控件的語句寫在初始化

如何刪除/mnt/cdrom?|如何刪除只讀文件系統(Read-only files ystem)? failed !bh ? 掛載光盤?掛載usb

highlight failed roo aid 刪除 read cdrom oot 丟失 root權限下 : 首先用umount /mnt/文件夾 卸載文件系統,必要時可以用umount -f(可能丟失數據)然後rm -rf /mnt/cdrom mkdir /mnt/c

Delphi 調試連接 任意Android手機/平板/盒子(要安裝Google USB Driver,並且還有USB的相關許多文章)

ogl .org blog broadcast 通過 並且 install 無法 設備 Delphi有時候無法連接調試一些手機,解決方案: 1.安裝Google USB Driver 2.通過設備管理器查看手機或平板USB的VID,PID 3.修改你的電腦上的andr

USB 驅動架構淺析

usb 驅動框架 1.USB簡介 USB,即Universal Serial Bus(通用串行總線)的縮寫,是一個外部總線標準,用於規範電腦與外部設備的連接和通訊。USB接口支持設備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM等多家公司聯合提出的。USB版本經歷了多年的

USB Type-C工作原理解析

說明 是否 forms dfp 其他 耗時 def 左右 del 自從蘋果發布了新MacBook,USB Type-C接口就成為了熱議對象。我來從硬件角度解析下這個USB Type-C,以便大家更好的了解USB Type-C的工作原理。特色尺寸小,支持正反插,速度快(10G

用u盤裝系統,進入bios後沒有usb啟動項怎麽辦

ood list del med gac 找到 prior 發現 edi 開機按DEL進入BIOS(現在還這麽說吧,不同的主板進入方法不太一樣),找到BOOT選項。 2 選擇Boot mood:legacy support(引導模式,邏輯支持) boot

Win10下Prolific USB-to-Serial Comm Port驅動提示不能使用

serial 驅動程序 spa -1 設備驅動 提示 .cn .com 技術分享 選擇從計算機的設備驅動程序列表中選取 選擇第一個安裝即可。Win10下Prolific USB-to-Serial Comm Port驅動提示不能使用

利用FT232實現USB轉串口

可能性 olt documents generated ply pl2 繪制 很好 ner FT232B數據手冊:http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232BL_BQ.pdf 常用的US