summaryrefslogtreecommitdiff
path: root/Documentation/usb/gadget-testing.txt
blob: b40db750890f3ef2eec1a8d825d4a8a504449e4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
This file summarizes information on basic testing of USB functions
provided by gadgets.

1. ACM function
2. ECM function
3. ECM subset 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<X>
On the device : cat /dev/ttyGS<Y>

then the other way round

On the device: cat > /dev/ttyGS<Y>
On the host: cat /dev/ttyACM<X>

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.<instance name> 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 <host's IP>
On the host: ping <device's IP>

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.<instance name> 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 <host's IP>
On the host: ping <device's IP>