Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers. Note that due to large amounts of spam attempts, your first three posts will be manually moderated, so please be patient.
We have moved to a new forum at http://jevois.usc.edu, please check it out. The forum at jevois.org/qa will not allow new user registrations but is maintained alive for its useful past questions and answers.
Welcome to JeVois Tech Zone, where you can ask questions and receive answers from other members of the community.

Jevois-inventor does not load camera, 1.15 firmware, Latest Ubuntu 20 Virtualbox with 1.15

+2 votes
Hi,  I'm having trouble getting jevois-inventor 1.00 to load on the latest Ubuntu V20 .vdi with JeVois 1.15.0 package (from a few days ago).  I was able to compile all the JeVois packages (base package, etc for host and platform).  when I run JeVois-inventor, with or without sudo, the camera doesn't load.  guvcview works and the camera is connected to Linux. /dev/ttyACM0 is also created and I can communicate.  But the program doesn't load up.  I loaded the flash card on the JeVois with the latest 1.15.0 disk image.  jevois-inventor 1.0 works on mac completely with the latest 1.15.0 disk image on the JeVois device.  However when I attach the camera to Linux, the individual camera and USB to serial port work, but the inventor program is stuck "waiting for JeVois Smart Camera" even though it says Connected / video0 / ttyACM0 on the right. When I unplug and reconnect again, I see Connected / video0 / ttyACM0 again, and when I unplug it says "disconnected".  However running guvcview loads up the camera.  I can also picocom to ttyACM0.  On the Mac side, I get the same error initially, however after unplugging and replugging inventor loads up with status "JeVois Inventor 1.0.0 with camera running JeVois 1.15.0.  Reconnecting the camera back on the inventor side, I get the message JeVois Inventor 1.0.0 waiting for JeVois Smart Camera again on the bottom left, and it says Connected / video0 /ttyACM0 on the bottom right side of the inventor window.  I have USB3 mode selected in VirtualBox.  Thoughts?

The following is the output of dimes when camera connected using VirtualBox.

[ 3656.645672] usb 1-2: new high-speed USB device number 12 using xhci_hcd
[ 3656.795505] usb 1-2: New USB device found, idVendor=1d6b, idProduct=0102, bcdDevice= 1.00
[ 3656.795507] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3656.795508] usb 1-2: Product: JeVois-A33 Smart Camera
[ 3656.795509] usb 1-2: Manufacturer: JeVois Inc
[ 3656.802792] uvcvideo: Found UVC 1.00 device JeVois-A33 Smart Camera (1d6b:0102)
[ 3656.806671] uvcvideo 1-2:1.0: Entity type for entity Processing 2 was not initialized!
[ 3656.806672] uvcvideo 1-2:1.0: Entity type for entity Camera 1 was not initialized!
[ 3656.806784] input: JeVois-A33 Smart Camera: JeVois as /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/input/input16
[ 3656.807378] cdc_acm 1-2:1.2: ttyACM0: USB ACM device
[ 3656.808084] usb-storage 1-2:1.4: USB Mass Storage device detected
[ 3656.808215] scsi host3: usb-storage 1-2:1.4
[ 3657.827246] scsi 3:0:0:0: Direct-Access     JeVois   Smart Camera     0333 PQ: 0 ANSI: 2
[ 3657.829044] sd 3:0:0:0: Attached scsi generic sg2 type 0
[ 3657.830999] sd 3:0:0:0: Power-on or device reset occurred
[ 3657.832969] sd 3:0:0:0: [sdb] Attached SCSI removable disk


asked Sep 14, 2020 in User questions by eyebotix (140 points)

1 Answer

0 votes
Hum, interesting, probably a bug in VirtualBox for Mac. You did install the extension pack, right?

Can you give us more parameters for your Mac? like OS version and Virtualbox version?

In the meantime, there is no advantage in running the inventor in VirtualBox, you should just run the native MacOS version and remove your USB filters. The workflow then typically is:

- install a USB filter in VirtualBox so that your USB-to-SD adapter gets attached to the virtual machine. Delete the filters you had for JeVois and its serial-over-USB.

- develop code in the linux virtual machine

- flash it to microSD

- insert microSD into JeVois

- start native MacOS JeVois Inventor and connect camera
answered Sep 14, 2020 by JeVois (46,580 points)
by the way, one thing that comes to mind is that we had to patch the Inventor for the latest Qt on MacOS, as somehow we are not receiving "video frame received" events in that Qt anymore. The reason likely is somewhere deep in the camera drivers for MacOS. On Ubuntu on a native machine, we are still getting these events (same version of Qt), and we wait for the first frame to arrive before we load up the module documentation, icon, parameters, etc and update the GUI. On MacOS, we now have a workaround which is just to wait for 200ms... So maybe the inventor running in your vbox is also not receiving these events, but it is waiting for them to proceed.

If you want to investigate, search for QVideoProbe in our inventor code and online to see why it is not being emitted anymore in the MacOS flavor of Qt 5.15.0
also, I forgot, these messages are normal:

[ 3656.806671] uvcvideo 1-2:1.0: Entity type for entity Processing 2 was not initialized!
[ 3656.806672] uvcvideo 1-2:1.0: Entity type for entity Camera 1 was not initialized!

they were not there in Ubuntu 16.04 but appeared in later Ubuntu versions. They do not affect operation.

So I verified I have Virtualbox V6.1.12 r139181, and the USB 3.0 controller installed with VirtualBox extensions.  Is the inventor code in the Jevois folder in Linux?  Also I did not do sudo apt-get update and apt-get upgrade on Ubuntu 20, just used the scratch image you released.  I'm running Catalina 10.15.4 on a Mid 2015 MacBook Pro, with 8192MB of memory (half) allocated and 64 MB VRAM allocated to Ubuntu, 64 bit.

Best,  Josh