blob: 2dfb8793b4539453ec97a69750a2dac6418d080e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
virtual: 0.964
device: 0.952
graphic: 0.916
kernel: 0.883
architecture: 0.803
peripherals: 0.771
PID: 0.740
semantic: 0.683
x86: 0.681
VMM: 0.681
performance: 0.679
debug: 0.652
ppc: 0.643
vnc: 0.630
files: 0.622
mistranslation: 0.556
hypervisor: 0.482
risc-v: 0.482
permissions: 0.481
boot: 0.464
register: 0.429
socket: 0.418
network: 0.381
arm: 0.377
user-level: 0.371
TCG: 0.298
i386: 0.223
assembly: 0.184
KVM: 0.134
Cannot write to MTP Devices in Qemu 6.0.0+
Description of problem:
QEMU versions above 6.0.0 are no longer able to write to MTP devices, the kernel prints a warning which is unique to versions above 6.0.0:
```
usb-mtp: file monitoring init failed: File monitoring not available on this platform is just warning
```
Steps to reproduce:
1. Launch a QEMU virtual machine with `-usb -device usb-mtp,rootdir=/tmp,readonly=false` using any QEMU version above 6.0.0
2. Mount the MTP device using something:
```
mkdir mtpDevice && jmtpfs mtpDevice
```
3. Try to write to the mtp device:
```
touch mtpDevice/test
```
4. Observe that you will get an input/output error when trying to write to the device, like this:
```
vm-test-run-mtp> client: must succeed: /nix/store/xmib7222ybr72iyycra4w386s8p1k4av-jmtpfsTest.sh >&2
vm-test-run-mtp> client # Device 0 (VID=46f4 and PID=0004) is a QEMU Virtual MTP.
vm-test-run-mtp> client # qemu-system-x86_64: usb-mtp: file monitoring init failed: File monitoring not available on this platform
vm-test-run-mtp> client # /nix/store/xmib7222ybr72iyycra4w386s8p1k4av-jmtpfsTest.sh: line 4: phone/tmp/testFile: Input/output error
```
Additional information:
|