#!/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