A customer wants to use the USB Serial Gadget mode (CDC ACM) on a Colibri iMX7.
He would previously use a Colibri VF61 where he would just modprobe g_serial
.
According to this article I instructed him to modify g1.schema to load the CDC ACM gadget such as:
attrs :
{
bcdUSB = 0x0;
bDeviceClass = 0x0;
bDeviceSubClass = 0x0;
bDeviceProtocol = 0x0;
bMaxPacketSize0 = 0x40;
idVendor = 0x1d6b;
idProduct = 0x0104;
bcdDevice = 0x400;
};
strings = (
{
lang = 0x409;
manufacturer = "Toradex";
product = "Unknown";
serialnumber = "";
} );
functions :
{
acm_GS0 :
{
instance = "GS0";
type = "acm";
attrs :
{
port_num = 0;
};
};
rndis_0 :
{
instance = "0";
type = "rndis";
attrs :
{
dev_addr = "00:14:2d:ff:ff:ff";
host_addr = "00:14:2d:ff:ff:fe";
qmult = 5;
};
};
};
configs = (
{
id = 1;
name = "c";
attrs :
{
bmAttributes = 0x80;
bMaxPower = 0x2;
};
strings = (
{
lang = 0x409;
configuration = "Conf 1";
} );
functions = (
{
name = "acm.GS0";
function = "acm_GS0";
},
{
name = "rndis.0";
function = "rndis_0";
} );
} );
but this doesn’t work. He gets:
[ 388.454278] udc-core: couldn't find an available UDC - added [g_serial] to list of pending drivers
I get this same result by trying to modprobe g_serial
.
USB RNDIS works by default.
Any tips on how to make the USB Serial gadget work?