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