Files
infix/doc/hardware.md
T

52 lines
1.5 KiB
Markdown

# Hardware information and status
The hardware infomation and status is handled by the YANG model [IETF hardware][ietf-hardware].
with deviations and augmentations in _infix-hardware_.
## USB Ports
For infix to be able to control the USB port(s), a device tree modification is needed (see _alder.dtsi_ for full example).
```
chosen {
infix {
usb-ports = <&cp0_usb3_1>;
usb-port-names = "USB";
};
};
```
Two USB ports are also exposed in QEMU for test purpose.
All USB ports in the system will be disabled during boot due to the file _board/common/rootfs/etc/modprobe.d/usbcore.conf_.
If you not want Infix to controll the USB port(s), remove the file or manually enable the USB bus, here is an example:
```
# Enable the bus
echo 1 > /sys/bus/usb/devices/usb1/authorized
```
And then enable sub-devices (e.g. USB memory)
```
# Enable a device plugged into usb1
echo 1 > /sys/bus/usb/devices/usb1/1-1/authorized
```
### Current status
```
admin@example:/> show hardware
USB PORTS
NAME STATE
USB unlocked
```
An USB port can be in two states _unlocked_ and _locked_. When a port is locked,
all connected devices will get power, but never authorized by Linux to use.
### Configure USB port
> **Note:** You can only configure an USB ports that exist in _show hardware_ in admin exec.
```
root@example:/> configure
root@example:/config/> set hardware component USB state admin-state unlocked
root@example:/config/> leave
root@example:/>
```
[ietf-hardware]: https://www.rfc-editor.org/rfc/rfc8348.html