uzbek-plus/b18/aurora-usb

16 lines
1.2 KiB
Bash

#!/bin/sh
# B18: USB role of the Type-C port (ChipIdea usb-role-switch). aurora-usb host | device | status
# host: port becomes USB host (powered hub needed: the board gives no VBUS); USB NCM 172.16.42.1 is gone -> use ssh root@192.168.77.1.
# device: back to gadget (NCM). Not persistent: every boot starts as device.
R=$(ls -d /sys/class/usb_role/*/ 2>/dev/null | head -1)
[ -n "$R" ] || { echo "no usb_role switch (kernel b18 + DTB b18 needed; running $(uname -r))"; exit 1; }
case "$1" in
host|device) echo "$1" > "${R}role" || exit 1; echo "<5>[aurora-usb] role -> $1" > /dev/kmsg; sleep 2; cat "${R}role";;
status|"")
echo "role: $(cat ${R}role)"
for d in /sys/bus/usb/devices/*-*; do [ -f $d/idVendor ] || continue
echo " $(basename $d) $(cat $d/idVendor):$(cat $d/idProduct) $(cat $d/manufacturer 2>/dev/null) $(cat $d/product 2>/dev/null) [$(cat $d/speed)M]"; done
for b in /sys/block/sd*; do [ -e $b ] && echo " disk $(basename $b) $(( $(cat $b/size) / 2048 )) MiB"; done
for k in /sys/class/input/event*; do n=$(cat $k/device/name); case "$n" in *pwrkey*) ;; *) echo " input $(basename $k): $n";; esac; done;;
*) echo "usage: $0 host|device|status"; exit 2;;
esac