Как определить имя метки устройства, модуль g_mass_storage

Работая над встроенной системой, которая включает модуль g_mass_storage в конфигурацию ядра, я хотел бы определить имя устройства. Последнее будет полезно для идентификации устройства при подключении к хосту.

Я использую следующую функцию:

int usb_gadget(void) 
{
    char cmd[512];
    int  fd = -1;
    int  len = -1;

    memset((void *)cmd, 0x00, sizeof(cmd));

    fd = open("proc/modules", O_RDONLY);
    if (fd > 0) 
    {
        len = read(fd, cmd, sizeof(cmd));
        if (len > 0) 
        {
            if (strstr(cmd, "g_mass_storage") > 0) 
            {
                fprintf(stderr, "Missing module \n");   
            } 
            else 
            {
                strcpy(cmd, "modprobe ");
                strcat(cmd, "g_mass_storage");
                strcat(cmd, " file=");
                strcat(cmd, "tmp/testfile");
                strcat(cmd," idVendor=2000 ");
                strcat(cmd," idProduct=2000 ");
                strcat(cmd," bcdDevice=2000 ");
                strcat(cmd," iManufacturer=TEST ");
                strcat(cmd," iProduct=BOARD1 ");
                strcat(cmd," iSerialNumber=1 ");                    
                system(cmd);
            }
            close(fd);
        }
    }
    return 0;
}

Когда устройство подключено к ПК с Windows, оно определяется как Local Disk(E:).

Как заменить Local Disk на определенное имя, как это делается для моего USB-ключа SnPKey?

РЕДАКТИРОВАТЬ 1:

Гаджет для хранения данных

Согласно информации, приведенной в предыдущей ссылке, я безуспешно пытался указать строку продукта USB через iProduct.


person ogs    schedule 03.02.2016    source источник
comment
После многих исследований кажется, что эта запись реализуется на этапе разбиения. Скоро проведу тест на платформе.   -  person ogs    schedule 04.02.2016


Ответы (1)


Решение найдено.

Метка тома должна быть определена во время создания секторов.

В моем случае я проверил процесс, написав 0x4E,0x4F,0x20,0x4E,0x41,0x4D,0x45,0x20,0x20,0x20,0x20, что равно NO NAME.

person ogs    schedule 04.02.2016