This file summarizes information on basic testing of USB functions provided by gadgets. 1. ACM function 2. ECM function 3. ECM subset function 4. EEM function 1. ACM function =============== The function is provided by usb_f_acm.ko module. Function-specific configfs interface ------------------------------------ The function name to use when creating the function directory is "acm". The ACM function provides just one attribute in its function directory: port_num The attribute is read-only. There can be at most 4 ACM/generic serial/OBEX ports in the system. Testing the ACM function ------------------------ On the host: cat > /dev/ttyACM On the device : cat /dev/ttyGS then the other way round On the device: cat > /dev/ttyGS On the host: cat /dev/ttyACM 2. ECM function =============== The function is provided by usb_f_ecm.ko module. Function-specific configfs interface ------------------------------------ The function name to use when creating the function directory is "ecm". The ECM function provides these attributes in its function directory: ifname - network device interface name associated with this function instance qmult - queue length multiplier for high and super speed host_addr - MAC address of host's end of this Ethernet over USB link dev_addr - MAC address of device's end of this Ethernet over USB link and after creating the functions/ecm. they contain default values: qmult is 5, dev_addr and host_addr are randomly selected. Except for ifname they can be written to until the function is linked to a configuration. The ifname is read-only and contains the name of the interface which was assigned by the net core, e. g. usb0. Testing the ECM function ------------------------ Configure IP addresses of the device and the host. Then: On the device: ping On the host: ping 3. ECM subset function ====================== The function is provided by usb_f_ecm_subset.ko module. Function-specific configfs interface ------------------------------------ The function name to use when creating the function directory is "geth". The ECM subset function provides these attributes in its function directory: ifname - network device interface name associated with this function instance qmult - queue length multiplier for high and super speed host_addr - MAC address of host's end of this Ethernet over USB link dev_addr - MAC address of device's end of this Ethernet over USB link and after creating the functions/ecm. they contain default values: qmult is 5, dev_addr and host_addr are randomly selected. Except for ifname they can be written to until the function is linked to a configuration. The ifname is read-only and contains the name of the interface which was assigned by the net core, e. g. usb0. Testing the ECM subset function ------------------------------- Configure IP addresses of the device and the host. Then: On the device: ping On the host: ping 4. EEM function =============== The function is provided by usb_f_eem.ko module. Function-specific configfs interface ------------------------------------ The function name to use when creating the function directory is "eem". The EEM function provides these attributes in its function directory: ifname - network device interface name associated with this function instance qmult - queue length multiplier for high and super speed host_addr - MAC address of host's end of this Ethernet over USB link dev_addr - MAC address of device's end of this Ethernet over USB link and after creating the functions/eem. they contain default values: qmult is 5, dev_addr and host_addr are randomly selected. Except for ifname they can be written to until the function is linked to a configuration. The ifname is read-only and contains the name of the interface which was assigned by the net core, e. g. usb0. Testing the EEM function ------------------------ Configure IP addresses of the device and the host. Then: On the device: ping On the host: ping