RP4 Ubuntu Server 22.04: Filesystem crash on USB plug/unplug - usb

I'm running Ubuntu Server 22.04 LTS on a Raspberry Pi 4 Model B with 4GB RAM. I'm booting Ubuntu via USB3 and everything works fine so far.
My issue is that at some point the filesystem crashes when I unplug/plug another USB device (It's an EPSON receipt printer). If I boot the system with the printer already attached everything works 100% of the time, but unplugging or plugging the printer at runtime results sometimes in a crash in the filesystem/access to the boot device.
How does the crash show up:
I'm connected via ssh and I can regularly type commands like ls and get the response. Then I unplugged and plugged the EPSON receipt printer multiple times and always executed a ls in between. At some point in time I always get -bash: /usr/bin/ls: Input/output error. And commands like ifconfig or dmesg are unknown. But the pwd command keeps on working. Please notice I did not unplug the SSD from which I booted. I already tried it with booting from an SD card and it seems there I don't get the problem. I already checked journalctl, but could find anything and I'm kinda clueless what's even going on.
PS: After a hard reboot everything works normally and it does not happen if I plug or unplug a regular USB stick, so it seems it's something about the EPSON printer?
UPDATE:
Executing dmesg -w gives this result. Please note Im only removing the EPSON printer, not the SSD.
Does anyone have any idea?
Thanks!

Related

USB CDC-ACM on STM32 device not registering on Linux

Working with the STM32L062 Cortex-M0 and CubeMX the generated USB CDC-ACM code works fine in Windows. With loopback code running on the STM32 and TerraTerm running on Windows characters typed in the terminal window correctly echo back. However, when this same system is then plugged into a laptop running Ubuntu, the device fails to enumerate. Even worse, the system doesn't appear to respond to the connection whatsoever- no new messages appear via dmesg that even a failed enumeration is going on. Given that the code used is generated by CubeMX wizards it is difficult to know what to start to troubleshoot. Any suggestions?
As an aside, this isn't the first issue presented by CDC-ACM drivers. Implementing a USB CDC-ACM stack for a PIC32MM processor, data can be sent to the host but not received from the host, however, if the driver is switched to plain vanilla CDC then data can be sent both ways no problem. So it seems maybe Ubuntu has some issues with the default USB drivers, but either way, it's very odd that the ST driver gets zero response at all from the system.

How to emulate USB-device as "alive" on VM?

Step by step:
My PC has connected printer via USB (I know VID:XXXX and PID:YYYY)
I took image of my PC and put inside virtual machine (VMWare)
Of course image on my VM doesn't has connected USB-printer (because real printer is connected to my real USB-port on my real PC).
One program is running and checking accessibility of printer by check connection with the printer via USB (I don't know how exactly - maybe via WMI, maybe via other way).
Results:
a) on my real PC this program works
b) on image doesn't work
QUESTION: is possible to emulate on VM-side that USB-port (VID:XXXX and PID:YYYY) is alive?
Thanks.
P.S. I don't want to install USB-redirect-via-TCP or similar approach.
You should switch to the QEMU emulator and to Linux to do that. VMWare probably doesn't support this of thing especially in a Windows environment.
If you are already on Linux, QEMU has hardware emulation of the xHCI and you can assign the host USB devices to KVM (read here: https://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest).
On Windows, I don't think this will be possible.

USB Device Causing VM's to Freeze

USB Device Causing VM's to Freeze - Cannot Kill vmware-vmx.exe
The problem was described here - https://communities.vmware.com/thread/612551
but anyone has no answer for it.
Generally, the problem is like so:
launch vm
connect usb stick or usb phone cable
vm freezes
it is not possible to terminate vmware-vmx.exe process (even as a SYSTEM user with highest privs).
The issue occurs on vmware workstation 14 & 15 on Windows 10 Pro Build 1903
Also tried disabling windows defender (maybe some strange scan policy) but no results.
Tried also to change almost every setting in workstation but no results...
please help
I was facing exactly the same issue and I have finally found the solution.
Update to VMWare Workstation version 15.5. Update the VM Tools in the Guest operating System, and it works!! Tried with Android Devices, in USB Tethering Mode also.

Raspberry Pi2 IoT no HDMI output

I have had Win 10 IoT Core running on a Raspberry Pi2, it was working fine, I had ported across my signage software, and all good, then the hdmi port stopped working ? my monitor just says no output, and goes into sleep mode. the Pi is running as I can assess it via the web portal, I can still deploy my application to it, and it says its running, but nothing been displayed.
I know that when using Linux there is a config file that you can modify, but what do you do with windows version ?
you have the configuration file for Windows too. check in the root of SD card. refer https://www.raspberrypi.org/forums/viewtopic.php?t=5851. You can try setting (this forces the board to use DVI mode instead of HDMI)
hdmi_group=2 # forces DVI timing to be used
It might also be due to low power input to the RP2, which could cause HTMI to not work. Try using USB3 or 1.5A~2.0A/ 5V adapter.
Ensure that you are running headed mode and not switched to headless by mistake. Details here: https://ms-iot.github.io/content/en-US/win10/HeadlessMode.htm
he display.

USB device detection problems: using Compact Flash card reader and QNX (Virtual Machine)

First of all, there's a similar thread on OpenQNX posted years ago but the solutions don't really apply for me.
Having said that, I want to create an OS image of QNX 6.6.0 to put on a Compact Flash card. This card is plugged in an USB adapter which is connected to my host pc. I'm running Neutrino in a VM (VMware/VirtualBox) for which I enabled USB support. Generally, the adapter works fine under Win (current host) and Linux.
The (apparently out-dated) tutorial I was following stated to search for devices named umass* or hd* after connecting the USB adapter. But there aren't any (except for hd0).
See also "ls /dev" screenshot.
The processes devb-umass and io-usb are running. So I expect that the adapter is detected automatically.
Any suggestions what went wrong?
OK, it seems that I had to restart the usb driver 'devb-umass' (several times). When the card reader is already plugged-in during the booting the driver will not detect it autoamtically. Thus one has to unplug and plug it in again after the devb-umass was getting re-started. It also might have been that the Host Controller Driver (HCD) was set to 'ohci' instead of 'ehci'.
Everything is working now as expected.
(Thanks Tim from the OpenQNX forum! ;) )