поиск и устранение неисправностей функции openDevice библиотеки purejavahidapi - PullRequest
0 голосов
/ 06 июня 2019

При попытке открыть соединение с моим HID-устройством, на fedora 30

появляется ошибка 13

Я попытался установить правило udev и изменить владельца файла dev (я знаю, что это краткосрочное исправление), ни один из которых не помог

Я пытался связаться с создателем библиотеки purejavahidapi, поскольку он не пользователь Linux, поэтому они не знают, как это исправить, и это не проблема, связанная с библиотекой, поэтому поищите в Интернете, чтобы исправить это

public static void setup ()
    {
        List<HidDeviceInfo> devList = PureJavaHidApi.enumerateDevices();
        for (HidDeviceInfo info : devList)
        {
            if (info.getProductString().contains("Reader"))
            {
                System.out.println("Product String: " + info.getProductString());
                readerDevice = info;
                break;
            }
        }
        try
        {
            System.out.println("ReaderDevice content: ");
            System.out.println(readerDevice.getProductString());
            HidDevice dev = PureJavaHidApi.openDevice(readerDevice);

            dev.setInputReportListener(new InputReportListener()
            {
                @Override
                public void onInputReport(HidDevice hd, byte b, byte[] reportData, int i) {
                    System.out.println(reportData.toString());
                }

            });
        }
        catch (IOException ex)
        {
            System.out.println("IO Exception Encountered");
            System.out.println(ex.toString());
        }
    }

Ожидаемый результат состоит в том, что программа устанавливает соединение с устройством HID, что на самом деле дает мне

java.io.IOException: open () не удалось, errno 13 '

трассировка стека:

java.io.IOException: open() failed, errno 13
    at purejavahidapi.linux.HidDevice.<init>(Unknown Source)
    at purejavahidapi.linux.LinuxBackend.openDevice(Unknown Source)
    at purejavahidapi.PureJavaHidApi.openDevice(Unknown Source)
    at rfid.project.RfidProject.setup(RfidProject.java:41)
    at rfid.project.RfidProject.main(RfidProject.java:22)
...