USB Serial Gadget on Colibri iMX7

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?

Hi @jaski.tx, customer reports it did work with the modified g1.schema, actually. It was a mistake on the procedure on his part. He was trying to modprobe the module even with the modified g1.schema, when just modifying the file would suffice. He tested it and it works. Thanks for the support!

Perfect that it works. Thanks for the feedback.