Code Monkey home page Code Monkey logo

litex-buildenv-udev's People

Contributors

csmart avatar mithro avatar rohitk-singh avatar stefanor avatar xfxf avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

litex-buildenv-udev's Issues

/dev/hdmi2usb/by-num/all 0 doesn't increment

I am assuming 3 devices should get all0, all1 and all2, but I don't see 1 or 2.
same with /dev/hdmi2usb/by-num/opsis

This might be due to #3

2 Opsis, 1 Atlys:

pi@oppi:~/prebuilt $ tree /dev/hdmi2usb/
/dev/hdmi2usb/
├── by-num
│   ├── all0
│   │   ├── tty -> ../../../ttyACM5
│   │   ├── usbdev -> ../../../bus/usb/001/019
│   │   └── video -> ../../../video6
│   ├── atlys0
│   │   ├── tty -> /dev/ttyVIZ0
│   │   ├── usbdev -> ../../../bus/usb/001/011
│   │   └── video -> /dev/video2
│   └── opsis0
│       ├── tty -> ../../../ttyACM5
│       ├── usbdev -> ../../../bus/usb/001/019
│       └── video -> ../../../video7
├── by-path
│   ├── tty -> ../../../ttyACM5
│   ├── usb.bus1.port1-hub.port2-hub.port1
│   │   ├── tty -> ../../../ttyACM0
│   │   ├── usbdev -> ../../../bus/usb/001/018
│   │   └── video -> ../../../video1
│   ├── usb.bus1.port1-hub.port3-hub.port1
│   │   ├── tty -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/007
│   │   └── video -> ../../../video2
│   ├── usb.bus1.port1-hub.port3-hub.port2
│   │   ├── tty -> ../../../ttyACM5
│   │   ├── usbdev -> ../../../bus/usb/001/019
│   │   └── video -> ../../../video7
│   ├── usb.bus1.port1-hub.port3-hub.port4
│   │   ├── tty -> ../../../ttyACM4
│   │   ├── usbdev -> ../../../bus/usb/001/011
│   │   └── video -> ../../../video4
│   ├── usbdev -> ../../../bus/usb/001/019
│   └── video -> ../../../video7
└── by-serial
    ├── 0123456789abcdef
    │   └── usbdev -> ../../../bus/usb/001/011
    ├── ffffd8803967d4f5
    │   └── usbdev -> ../../../bus/usb/001/018
    ├── ffffd88039680b41
    │   └── usbdev -> ../../../bus/usb/001/007
    ├── ffffd88039680b42
    │   └── usbdev -> ../../../bus/usb/001/019
    ├── tty -> ../../../ttyACM5
    └── video -> ../../../video7

Atlys needs ttyVIZx

Atlys rules create links to ttyACM1, should be ttyVIZ0

pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ tree /dev/hdmi2usb/
/dev/hdmi2usb/ [error opening dir]

0 directories, 0 files
pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ atlys-on.sh 

[18630.594340] usb 1-1.3.3: new full-speed USB device number 23 using dwc_otg
[18630.827147] usb 1-1.3.3: New USB device found, idVendor=04e2, idProduct=1410, bcdDevice= 0.03
[18630.827174] usb 1-1.3.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[18630.833618] cdc_acm 1-1.3.3:1.0: ttyACM1: USB ACM device
[18631.044391] usb 1-1.3.4: new high-speed USB device number 24 using dwc_otg
[18631.275259] usb 1-1.3.4: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[18631.275290] usb 1-1.3.4: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[18631.276328] usb 1-1.3.4: string descriptor 0 read error: -32
[18631.276365] usb 1-1.3.4: New USB device found, idVendor=1443, idProduct=0007, bcdDevice= 0.00
[18631.276382] usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[18631.447052] vizzini 1-1.3.3:1.0: This device cannot do calls on its own. It is not a modem.
[18631.447205] vizzini 1-1.3.3:1.0: ttyVIZ0: XR21v14x usb uart device

pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ tree /dev/hdmi2usb/
/dev/hdmi2usb/
├── by-num
│   ├── all0
│   │   └── usbdev -> ../../../bus/usb/001/021
│   └── atlys0
│       └── usbdev -> ../../../bus/usb/001/021
└── by-path
    └── usb.bus1.port1-hub.port3-hub.port4
        └── usbdev -> ../../../bus/usb/001/021

5 directories, 3 files

pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ ./load-fx2.sh 
WARNING:root:unbind-helper not found, will have to run as root!
 Found exart-uarts at [LsusbDevice(04e2:1410:0003 /dev/bus/usb/001/020)] associating with Atlys at [Board(dev=LsusbDevice(1443:0007:0000 /dev/bus/usb/001/021), type='atlys', state='unconfigured')]
Digilent Atlys in 'unconfigured' mode at /dev/bus/usb/001/021
 /sys/bus/usb/devices/1-1.3.4
 /sys/bus/usb/devices/1-1.3.4:1.0
 Serial port at /dev/ttyVIZ0
My root dir: /home/pi/HDMI2USB-mode-switch/venv/lib/python3.5/site-packages/hdmi2usb.modeswitch-0.0.1.post39-py3.5.egg/hdmi2usb/modeswitch
 Found exart-uarts at [LsusbDevice(04e2:1410:0003 /dev/bus/usb/001/020)] associating with Atlys at [Board(dev=LsusbDevice(1443:0007:0000 /dev/bus/usb/001/021), type='atlys', state='unconfigured')]
Digilent Atlys in 'unconfigured' mode at /dev/bus/usb/001/021
 /sys/bus/usb/devices/1-1.3.4
 /sys/bus/usb/devices/1-1.3.4:1.0
 Serial port at /dev/ttyVIZ0
Using FX2 firmware hdmi2usb.hex
Running 'fxload -t fx2lp -D /dev/bus/usb/001/021 -I /home/pi/prebuilt/hdmi2usb.hex -v'


[18698.751836] usb 1-1.3.4: USB disconnect, device number 24
[18700.428117] usb 1-1.3.4: new high-speed USB device number 25 using dwc_otg
[18700.659008] usb 1-1.3.4: config 1 interface 2 altsetting 0 endpoint 0x81 has an invalid bInterval 64, changing to 10
[18700.659939] usb 1-1.3.4: New USB device found, idVendor=1d50, idProduct=60b7, bcdDevice= 0.02
[18700.659961] usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[18700.659973] usb 1-1.3.4: Product: HDMI2USB.tv - Numato Opsis Board
[18700.659984] usb 1-1.3.4: Manufacturer: TimVideos.us
[18700.659995] usb 1-1.3.4: SerialNumber: 0123456789abcdef
[18700.666000] uvcvideo: Found UVC 1.00 device HDMI2USB.tv - Numato Opsis Board (1d50:60b7)
[18700.666444] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[18700.667749] uvcvideo 1-1.3.4:1.0: Entity type for entity Extension 3 was not initialized!
[18700.667778] uvcvideo 1-1.3.4:1.0: Entity type for entity Processing 2 was not initialized!
[18700.667799] uvcvideo 1-1.3.4:1.0: Entity type for entity Camera 1 was not initialized!
[18700.705211] cdc_acm 1-1.3.4:1.2: ttyACM1: USB ACM device


pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ tree /dev/hdmi2usb/
/dev/hdmi2usb/
├── by-num
│   ├── all0
│   │   ├── tty0 -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/022
│   │   └── video -> ../../../video1
│   └── atlys0
│       ├── tty0 -> ../../../ttyACM1
│       ├── usbdev -> ../../../bus/usb/001/022
│       └── video -> ../../../video1
├── by-path
│   ├── platform-20980000.usb-usb-0:1.3.4:1.0
│   │   └── video -> ../../../video1
│   ├── platform-20980000.usb-usb-0:1.3.4:1.2
│   │   └── tty0 -> ../../../ttyACM1
│   └── usb.bus1.port1-hub.port3-hub.port4
│       ├── tty0 -> ../../../ttyACM1
│       ├── usbdev -> ../../../bus/usb/001/022
│       └── video -> ../../../video1
└── by-serial
    └── 0123456789abcdef
        ├── tty0 -> ../../../ttyACM1
        ├── usbdev -> ../../../bus/usb/001/022
        └── video -> ../../../video1


pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ tio /dev/ttyACM1 
[tio 07:17:47] tio v1.20
[tio 07:17:47] Press ctrl-t q to quit
[tio 07:17:47] Connected
[tio 07:17:52] Disconnected
pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ tio /dev/ttyVIZ0 
[tio 07:18:06] tio v1.20
[tio 07:18:06] Press ctrl-t q to quit
[tio 07:18:06] Connected
H2U 00:03:08>C�C3^N^*

Atlys - Extra /dev/videoX

/dev/video0 good, video1 .. bad?

power on Atlys:

[  151.146340] usb 1-1.3.1: new high-speed USB device number 8 using dwc_otg
[  151.377038] usb 1-1.3.1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[  151.377064] usb 1-1.3.1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[  151.378066] usb 1-1.3.1: string descriptor 0 read error: -32
[  151.378096] usb 1-1.3.1: New USB device found, idVendor=1443, idProduct=0007, bcdDevice= 0.00
[  151.378108] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  151.776373] usb 1-1.3.4: new full-speed USB device number 9 using dwc_otg
[  152.009207] usb 1-1.3.4: New USB device found, idVendor=04e2, idProduct=1410, bcdDevice= 0.03
[  152.009231] usb 1-1.3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  152.029606] cdc_acm 1-1.3.4:1.0: ttyACM1: USB ACM device
[  152.517499] vizzini: loading out-of-tree module taints kernel.
[  152.531199] vizzini 1-1.3.4:1.0: This device cannot do calls on its own. It is not a modem.
[  152.531333] vizzini 1-1.3.4:1.0: ttyVIZ0: XR21v14x usb uart device
[  152.558161] usbcore: registered new interface driver vizzini
[  152.558178] vizzini: Exar USB UART Driver for XR21V141x 

pi@oppi:~/prebuilt $ ~/HDMI2USB-mode-switch/venv/bin/hdmi2usb-mode-switch -v --by-type atlys --load-fx2-firmware hdmi2usb.hex

[ 342.751228] usb 1-1.3.1: USB disconnect, device number 8

wut?

[  344.426418] usb 1-1.3.1: new high-speed USB device number 10 using dwc_otg
[  344.657205] usb 1-1.3.1: config 1 interface 2 altsetting 0 endpoint 0x81 has an invalid bInterval 64, changing to 10
[  344.658037] usb 1-1.3.1: New USB device found, idVendor=1d50, idProduct=60b7, bcdDevice= 0.02
[  344.658052] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  344.658063] usb 1-1.3.1: Product: HDMI2USB.tv - Numato Opsis Board
[  344.658071] usb 1-1.3.1: Manufacturer: TimVideos.us
[  344.658080] usb 1-1.3.1: SerialNumber: 0123456789abcdef
[  344.690326] cdc_acm 1-1.3.1:1.2: ttyACM1: USB ACM device
[  345.147841] uvcvideo: Found UVC 1.00 device HDMI2USB.tv - Numato Opsis Board (1d50:60b7)
[  345.148316] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[  345.150919] uvcvideo 1-1.3.1:1.0: Entity type for entity Extension 3 was not initialized!
[  345.150945] uvcvideo 1-1.3.1:1.0: Entity type for entity Processing 2 was not initialized!
[  345.150959] uvcvideo 1-1.3.1:1.0: Entity type for entity Camera 1 was not initialized!
[  345.154216] usbcore: registered new interface driver uvcvideo
[  345.154230] USB Video Class driver (1.1.1)

pi@oppi:~/prebuilt $ tree /dev/hdmi2usb
/dev/hdmi2usb
├── by-num
│   ├── all0
│   │   ├── tty -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/010
│   │   └── video -> ../../../video1
│   └── atlys0
│   ├── tty -> ../../../ttyACM1
│   ├── usbdev -> ../../../bus/usb/001/010
│   └── video -> ../../../video1
├── by-path
│   ├── tty -> ../../../ttyACM1
│   ├── usb.bus1.port1-hub.port3-hub.port1
│   │   ├── tty -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/010
│   │   └── video -> ../../../video1
│   ├── usbdev -> ../../../bus/usb/001/010
│   └── video -> ../../../video1
└── by-serial
├── 0123456789abcdef
│   └── usbdev -> ../../../bus/usb/001/010
├── tty -> ../../../ttyACM1
└── video -> ../../../video1

pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=3 ! jpegdec ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.258886279
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=3 ! jpegdec ! fakesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video1' is not a capture device.
Additional debug info:
v4l2_calls.c(633): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Capabilities: 0x4a00000
Setting pipeline to NULL ...
Freeing pipeline ...

Atyls says Opsis

it;s a little surprising, and maybe related to #6

[18865.518653] usb 1-1.3.4: Product: HDMI2USB.tv - Numato Opsis Board

pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ ./load-fx2.sh 

dmesg

[18865.286826] usb 1-1.3.4: new high-speed USB device number 26 using dwc_otg
[18865.517654] usb 1-1.3.4: config 1 interface 2 altsetting 0 endpoint 0x81 has an invalid bInterval 64, changing to 10
[18865.518618] usb 1-1.3.4: New USB device found, idVendor=1d50, idProduct=60b7, bcdDevice= 0.02
[18865.518641] usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[18865.518653] usb 1-1.3.4: Product: HDMI2USB.tv - Numato Opsis Board
[18865.518664] usb 1-1.3.4: Manufacturer: TimVideos.us
[18865.518674] usb 1-1.3.4: SerialNumber: 0123456789abcdef
[18865.524619] uvcvideo: Found UVC 1.00 device HDMI2USB.tv - Numato Opsis Board (1d50:60b7)
[18865.525066] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[18865.526408] uvcvideo 1-1.3.4:1.0: Entity type for entity Extension 3 was not initialized!
[18865.526437] uvcvideo 1-1.3.4:1.0: Entity type for entity Processing 2 was not initialized!
[18865.526457] uvcvideo 1-1.3.4:1.0: Entity type for entity Camera 1 was not initialized!
[18865.577662] cdc_acm 1-1.3.4:1.2: ttyACM1: USB ACM device
pi@oppi:~/litex-buildenv-jenkins/hdmi2usb/tests $ 

some symlinks are not in the right dirs

pi@oppi:/dev $ ls -l /dev/hdmi2usb/by-path/tty 
lrwxrwxrwx 1 root root 16 May 28 03:36 /dev/hdmi2usb/by-path/tty -> ../../../ttyACM1

/dev/hdmi2usb/by-path is .
/dev/hdmi2usb is ..
/dev/ is ../..
/ is ../../..

so ../../../ttyACM is /ttyACM not /dev/ttyACM

pi@oppi:/dev $ tree hdmi2usb/
hdmi2usb/
├── by-num
│   ├── all0
│   │   ├── tty -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/017
│   │   └── video -> ../../../video1
│   └── opsis0
│       ├── tty -> ../../../ttyACM1
│       ├── usbdev -> ../../../bus/usb/001/017
│       └── video -> ../../../video1
├── by-path
│   ├── tty -> ../../../ttyACM1
│   ├── usb.bus1.port1-hub.port2-hub.port2
│   │   ├── tty -> ../../../ttyACM1
│   │   ├── usbdev -> ../../../bus/usb/001/017
│   │   └── video -> ../../../video1
│   ├── usbdev -> ../../../bus/usb/001/017
│   └── video -> ../../../video1
└── by-serial
    ├── ffffd8803967d4f5
    │   └── usbdev -> ../../../bus/usb/001/017
    ├── tty -> ../../../ttyACM1
    └── video -> ../../../video1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.