Jump to content

Segfault

Members
  • Posts

    4
  • Joined

  • Last visited

Everything posted by Segfault

  1. Да, и сам процесс запускается. Файл init.yaml выглядит так: entities: # Entity "client" - name: ds.Client connections: - target: ds.VfsNet id: {var: _VFS_CONNECTION_ID, include: vfs/defs.h} @INIT_Client_ENTITY_CONNECTIONS+@ - name: ds.VfsNet @INIT_VfsNet_ENTITY_CONNECTIONS@ - name: ds.ModemDriver @INIT_ModemDriver_ENTITY_CONNECTIONS@ @INIT_EXTERNAL_ENTITIES@ В программе драйвера (упрощено для теста): DNetDriver* _DNetDriverEntryTest(void *context) { fprintf(stderr, "_DNetDriverEntryTest()\n"); return(NULL); } int main(void) { fprintf(stderr, "DNetRegisterDriver...\n"); DNetError err = DNetRegisterDriver(_DNetDriverEntryTest, NULL); if(err != DNET_EOK) { fprintf(stderr, "DNetRegisterDriver failed with %u\n", err); } fprintf(stderr, "DNetRegisterDriver passed\n"); // ... } При запуске DNetRegisterDriver отрабатывает с кодом DNET_EOK, но _DNetDriverEntryTest не вызывается. Посмотрел этот пример, вижу, что при компиляции добавляется LWEXT4_LIB. Посмотрел библиотеку liblwext4.a, нашел несколько init функций внутри секции initcall_fs_section, нашел упоминание в vfs/fs.h, там же нашелся REGISTER_FILESYSTEM. Поискал аналогичное для сети, но не нашел.
  2. Да, не было разрешение на запуск kl.drivers.DNetSrv. Теперь все процессы запускаются, но драйвер после регистрации через DNetRegisterDriver по прежнему не стартует. Вообще, такая схема с vfs, dnet и драйвером в трех разных процессах имеет право на жизнь?
  3. Добрый день. Пытаюсь собрать конфигурацию с отдельным сетевым драйвером, как это описано в https://support.kaspersky.ru/help/KCE/1.1/ru-RU/vfs_app_build.htm подраздел "Сборка сетевой версии VFS с отдельным сетевым драйвером". В main драйвера делаю DNetRegisterDriver, отрабатывает без ошибки, но драйвер при этом не запускается (переданный _DNetDriverEntry не вызывается). Что было испробовано: 1. При сборке программы-драйвера подключаются библиотеки dnet_implementation и dnet_server. При запуске в qemu не запускается с сообщением Can't initialize task "kl.drivers.DNetSrv". Файл dnet_entity при этом в сборку добавляется автоматически. 2. При сборке программы-драйвера подключаются библиотеки dnet_implementation и dnet_server. При сборке vfs помимо рекомендованных в вышеупомянутой статье параметров добавляю: set_target_properties (VfsNet PROPERTIES ${dnet_ENTITY}_REPLACEMENT "ds.ModemDriver") , где "ds.ModemDriver" -- имя сущности драйвера. В таком случае при запуске появляется сообщение: [2023-09-16T10:28:10.774][Info][ds.VfsNet][29:30][DNETCL] Try to connect to server 'kl.drivers.DNet' with interface 'kl.drivers.DNet.dnet'... dnet_entity при этом в сборке отсутствует. Нужно клиенту dnet как-то указать, куда подключаться? Не нашел такой возможности. 3. При сборке программы-драйвера подключается библиотека dnet_client. Результат аналогичный п.1. Подскажите, как все-же правильно реализовать конфигурацию с нестандартным драйвером?
  4. Доброго времени суток. Подскажите, как правильно заполнить структуру UsbConfig для UsbTransferSetup() в случае BULK передачи? Документацию к ней не нашел, все испробованные варианты дают либо USB_EINVAL либо USB_EFAIL
×
×
  • Create New...