cannot access /dev/video*: No such file or directory - linux-kernel

So I'm working on a zynq z7000 card and I made a Linux Kernel on it. I put a Linaro as a Root File System. I managed to boot the card however I can only use mouse and keyboard usb devices. I tried webcam and flash drives but they are not working. when I use :
lsusb
I get the webcam device
...
Bus 001 Device 005: ID 046d:0805 Logitech, Inc. Webcam C300
However when I try
ls /dev/video*
I get
ls: cannot access /dev/video*: No such file or directory
I've used these configurations to build my image.

You need to make sure if v4l2 framework and UVC Class driver are enabled in your kernel configuration(defconfig file). Or can enable using menuconfig. Make sure the following are there:
1. CONFIG_VIDEO_V4L2=y
2. CONFIG_VIDEO_V4L2_COMMON=y
3. CONFIG_VIDEO_DEV=y
4. CONFIG_USB_VIDEO_CLASS=y

Related

how to write a usb storage device driver

I used the usb driver template usb skeleton.c in the kernel and changed VENDOR_ID and PRODUCT_ID to be able to detect my usb storage device. Then compile this module and install it. Unfortunately, although the probe function works correctly, there is no my device when I execute fdisk -l
Before installing the module, I have uninstalled the two modules usb_storage and usa, and renamed usb_storage.ko to ensure that it will not install itself
I want to know how to make the usb storage device be able to display and access normally

I can not start ubuntu with USB

The PC is Windows. I wanted the ubuntu environment, I put the ubuntu iso file on the USB. After that, if I try to restart and start ubuntu, I get an error like the following.
Like this error
The details of the error are the two statements below.(initramfs) Unable to find a medium containing a live file system[figure ex.) 135.392108] usb 3-4: device descriptor ewad / all, error -110I tried variously, but it was useless. (I tried BIOS etc. but it was useless.What I want to do is to have Ubuntu portable on the USB. However, I want to prevent any Windows from being broken.I do not know the meaning of 2.0 / 3.0 on the USB drive side and socket side.The one that I use is USB 3.0.Ubuntu version is 18.04.2. The iso. file was loaded with Universal-USB-installer.I tried both UEFI and LEGACY mode with BOOT on the BIOS screen, but it was useless.

configfs do not mount device-tree/overlays

I'm working on a Cyclone V SOC FPGA from Altera with a double Cortex-A9 processor. The embedded system (linux 4.15.7) is created with Buildroot-2018.02. U-boot is used to load the system i-e FPGA.rbf file, device tree blob and zImage and everything works fine.
I want now to integrate the RBF file to my linux and program the FPGA from Linux. I found several methods and the one I understand is the most common is to use CONFIGFS with a device-tree overlay.
So I changed my device tree to integrate the overlay, the u-boot boot script to disable FPGA load and also the following options in the linux ".config" file with make linux-xconfig :
+CONFIG_OF_OVERLAY=y
+CONFIG_ALTERA_STAPL=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_CONFIGFS=m
These options are the state were I am now after several try.
After a make and a reboot, once the kernel is loaded, I enter the following command in the console :
mkdir /config
mount -t configfs none /config
At this state, I'm expecting to see some device tree files in the /config folder but there wasn't any, only one rdma_cm folder :
# ls /config
rdma_cm
I continued my reading on this topic and found that I must enable the CONFIG_OF_CONFIGFS option in my linux kernel.
PROBLEM: This option is not available in my linux kernel. Also, file drivers/of/configfs.c is no here too. I've searched in vain to find how to enable device tree overlay for my kernel version.
How can I configure my kernel to make device-tree available in configfs ?
I had the same problem as you. So I had to make a device driver by myself.
This device driver is tentative and I expect Linux mainline to officially support Device Tree Overlay ConfigFS.
The device driver I made is available at the following URL.
https://github.com/ikwzm/dtbocfg
If you are using Debian, you can build the Debian Package of the device driver with the following URL.
https://github.com/ikwzm/dtbocfg-kmod-dpkg
If you want to try Device Tree Overlay using this device driver, please refer to the following URL.
https://github.com/ikwzm/FPGA-SoC-Linux
https://github.com/ikwzm/FPGA-SoC-Linux-Example-1-DE10-Nano

DVB device node creation Linux Ubuntu

Hi I am trying to create a dvb frotnend for my device on ubuntu. I have created a device driver file that creates a dummy dvb file after looking at dummy_dvb_fe.c which is present in the linux kernel. For some reason when I insmod it I am not able to see anything in my /dev folder. Generally a device node under /dev/dvb/adapter should get created. I am not sure if any other files need to be changed for front end registeration. due to the lack of documentation I am not sure about the process of creating a dvb frontend device driver and registering it.
Well I figured it out. Issue was I was looking into the Linux TV user space DVB-API documentation instead of the Media Kernel API documentation. In any case
You have to create, populate and register a dvb_adapter after which you have to create and register a dvb_dummy device.

Play audio file stored in SD Card memory on Zedboard

Is it possible to have a named pipe on my PS side of the Zedboard; that leads to a FIFO in the the PL side (using DMA,AXI,I2S etc) that I then revert to the audio out port and play songs from my PS side and listen from the audio out port on the PL side?
If yes then what steps are to be followed on the PS Side?
I'm guessing at mapping of user space into kernel space.
Yes, it turns out that ANALOG DEVICES has just the stuff you need.
There is a different kernel that Analog Device's maintains, which
includes both ALSA drivers
for the audio chip (ADAU1761) and the HDMI output (ADV7511).
https://github.com/analogdevicesinc/linux
there are a few zynq branches in there. Normally Xilinx pulls drivers
from there for their kernels,
but anyone can do the same.
The build instructions (if that's the sort of thing you want to do) is
at:
http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynq_2014r2
Or, alternatively you could just download the ready-made image for your particular board from this dropbox link:
https://www.dropbox.com/sh/yfbpj63pcenqatr/AAAt0s3xFXs47I7q5pNopheHa?dl=0
After you download the file; uncompress it with this command:
unxz -d sdimage-8G-zedboard.direct.xz
Find out the name of your SD Card with this command:
dmesg|tail
And then write the resulting image to your 8GB SD Card with this command:
sudo dd if=sdimage-8G-zedboard.direct of=/dev/sdX
where sdX is your particular SDCard which you noted from command dmesg|tail
This command will erase all the pre-existing data on the sd card so make sure you have a backup if that data is important to you.
WARNING: Please be VERY careful while using the dd command. Writing the image to the wrong /dev/sdX location could possibly lead to corruption of OS and/or the hardware also and is extremely risky.
After you burn the image; you're good to go! A full-blown graphical linux environment will turn up ( You need to connect an HDMI display; and use USB OTG port to use the mouse and keyboard)
NOTE: You can also choose between what path you want your sound to play;
whether from the headphone jack or through the HDMI cable.

Resources