Ошибка компиляции драйвера USB

Основное преимущество Отслеживания в обратном порядке состоит в том, что кто-то еще сделал всю работу недавний широкий выбор инструментов в единственное распределение, и это делает их всех доступными по умолчанию без Вас имеющий необходимость установить их или искать их.

Вы могли, конечно, получить источник и скомпилировать/бэкпортировать/установить все подарок на диске Отслеживания в обратном порядке на любое универсальное распределение.

BackTrack в противоположность, скажем, Debian?

Существует несколько инструментов, включенных в Отслеживание в обратном порядке, которые не включены в репозитории Debian, но многие инструменты доступны. Debian исключает некоторые пакеты, потому что он имеет довольно строгую философию Бесплатного программного обеспечения.

Debian и некоторые другие дистрибутивы общего назначения имеют медленный цикл выпуска/обновления. Когда дело доходит до тестирования безопасности часто необходимо оставаться чрезвычайно актуальными. Новое использование находится, означая необходимость в недавно выпущенных инструментах для обнаружения их.

Действительно ли репозитории на самом деле отличаются?

Последние версии Отслеживания в обратном порядке базируются от Ubuntu, но существует много тонких настроек и изменений в пакетах для создания их более полезными для специалиста по безопасности.

Отслеживание в обратном порядке Linux FAQ: Почему я не могу только добавить репозитории Отслеживания в обратном порядке к своей установке Ubuntu или репозитории Ubuntu к моей установке Отслеживания в обратном порядке?

Мы настоятельно рекомендуем против этого действия, потому что инструменты Backtrack создаются со многими пользовательскими функциями, библиотеками и ядром. У нас нет способа знать, как они будут работать на не распределении Отслеживания в обратном порядке, плюс Вы очень быстро повредит Вашу установку. Также, если Вы приняли решение добавить репозитории человечности к своей установке Отслеживания в обратном порядке, Вы несомненно повредите свою всю установку Отслеживания в обратном порядке очень быстро.


Кроме того, это походит на людей, которые пробуют BackTrack, жалуются, что они не могут получить самые основные вещи работать 'из поля'.

Это не разработано, чтобы быть распределением нового пользователя. Это разработано для специалистов по безопасности. Это тип людей, которые Вы ожидали бы провести некоторое исследование, чтобы удостовериться, что у них есть аппаратные средства, которые будут непосредственно поддерживаемыми в соответствии с Linux, не имея необходимость переходить через более раздражающих обручей (ndiswrapper/firmware загрузки) для получения выполнения оборудования.

Если Вы - планирование выполнения, что-либо с WiFi, затем выбирающим правильную карту, чрезвычайно важно. Существует относительно небольшой процент интерфейсов WiFi, которые обеспечат всю функциональность, которую Вы могли бы хотеть.

2
19.01.2013, 00:07
2 ответа

В более поздних версиях ядра Linux, usb_serial_register и usb_serial_deregister функции были сделаны статичными. Таким образом функции только существуют как текст в файлах объекта ядра. usb_serial_register_drivers и usb_serial_deregister_drivers может вместо этого использоваться.

Вот определения двух наборов функций:

int usb_serial_register(struct usb_serial_driver *driver);
void usb_serial_deregister(struct usb_serial_driver *device);
int usb_serial_register_drivers(struct usb_driver *udriver,
                                struct usb_serial_driver * const serial_drivers[]);
void usb_serial_deregister_drivers(struct usb_driver *udriver,
                                   struct usb_serial_driver * const serial_drivers[]);

usb_serial_register_drivers берет завершенный массив ПУСТОГО УКАЗАТЕЛЯ указателей на последовательные драйверы usb, которые будут зарегистрированы, и usb_driver используется для соответствия устройствам/интерфейсам. Детали двух наборов функций могут быть считаны здесь:

http://lxr.free-electrons.com/source/drivers/usb/serial/usb-serial.c?v=3.4#L1379

http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/drivers/usb/serial/usb-serial.c#L1337

В исходном коде для драйвера, строки, такие как это:

retval = usb_serial_register(&vizzini_device);

были заменены этим:

struct usb_serial_driver *serial_drivers[2] = {&vizzini_device,NULL};
retval = usb_serial_register_drivers(&vizzini_driver,serial_drivers);

vizzini_driver и vizzini_device были определены в другом месте в коде как следующее:

static struct usb_driver vizzini_driver = {
        .name          = "vizzini",
        .probe         = usb_serial_probe,
        .disconnect    = vizzini_disconnect,
        .id_table      = id_table,
        .no_dynamic_id = 1,
};
static struct usb_serial_driver vizzini_device = {
        .driver = {
                .owner =    THIS_MODULE,
                .name =     "vizzini",
        },
    .usb_driver     = &vizzini_driver,
        .description        = "Vizzini USB serial port",
        .id_table           = id_table,
        .calc_num_ports     = vizzini_calc_num_ports,
        .probe              = vizzini_probe,
        .open               = vizzini_open,
        .close              = vizzini_close,
        .write              = vizzini_write,
        .write_room         = vizzini_write_room,
        .ioctl              = vizzini_ioctl,
        .set_termios        = vizzini_set_termios,
        .break_ctl          = vizzini_break_ctl,
        .tiocmget           = vizzini_tiocmget,
        .tiocmset           = vizzini_tiocmset,
        .attach             = vizzini_attach,
        .disconnect        = vizzini_serial_disconnect,
        .release           = vizzini_serial_release,
        .read_int_callback  = vizzini_int_callback,
};
2
27.01.2020, 22:07

API в ядре совсем не стабилен, поэтому если драйвер не является примерно современным с ядром, получают его, просто не будет работать (и сообщения предупреждений/ошибки, которые Вы даете точке в том точном направлении). И драйверы наиболее из дерева являются ужасным кодом, поэтому возьмите тот с мелкой частицей (или полный совок) соли. Посмотрите, если это поддерживается текущими ядрами, или официально или в подготовке драйверов. Проверьте Linux-USB, там Вы могли бы найти некоторые указатели.

1
27.01.2020, 22:07

Теги

Похожие вопросы