IRC channel logs

2022-08-13.log

back to list of logs

<damo22>we dont need ugen
<damo22>user -> syscall (e.g. read() on umass) -> all of USB
<damo22>vs.
<damo22>user -> something built on top of libusb -> libusb -> syscall -> ugen -> lower level USB
<damo22>we can go with a hurd server that exposes all of USB as pci devices
<damo22>i dont think we need to explicitly split the stack into two
<damo22>Antti suggested in 2015 that ugen is not suitable for anything except debugging
<damo22>see https://mail.gnu.org/archive/html/bug-hurd/2015-10/msg00065.html
<damo22>ugenhc emulates a host controller
<damo22>we dont need to emulate host controllers as we have them on the system
<damo22>i think we need to expose all of usb via an usb-arbiter that enumerates all usb devices
<jab>damo22: that sounds like fun!
<damo22>irq handler [11]: new delivery port c1476f88 entry f648ad88
<damo22>irq handler [11]: new delivery port c1476948 entry f648ad68
<damo22>[ 1.6000050] panic: kernel diagnostic assertion "xfer->ux_bus->ub_usedma == false" failed: file "./buildrump.sh/src/sys/rump/dev/lib/libusb/../../../../dev/usb/usbdi.c", line 515
<damo22>[ 1.6000050] rump kernel halting...
<damo22>it tried to assign irqs that were already taken and crashed the rumpkernel
<damo22>[ 1.3100050] uhci0 at pci0 dev 29 function 0: vendor 8086 product 2934 (rev. 0x03)
<damo22>irq handler [10]: new delivery port c1439bb8 entry f5e5ce28
<damo22>[ 1.3400050] uhci0: interrupting at pausebreak
<damo22>i think it broke because my disk is plugged in via usb on the host, but in qemu i ran -usb
<damo22>so it passed through the usb host controller to the guest hurd
<damo22>?
<damo22>my hard drive with hurd on it is throwing I/O errors luckily i backed up my git repos
<damo22>and most of my work is already merged
<damo22>youpi: how do you run the 20220811 installer using qemu?
<damo22>i keep getting Unsupported ATAPI cdrom device
<damo22>hurd boots on a thinkpad x230 with coreboot+seabios natively, but has no network access
<damo22>rumpdisk is failing to probe the ahci0 controller though
<damo22>but my test usb program probes the xhci0 controller and then hangs the machine
<damo22>i think its probably trying to use 64 bit DMA
<youpi>damo22: you mean with ahci ?
<damo22>i wrote a test usb program using rump, it probed xhci
<damo22>but crashed
<damo22>it said something like : xhci0: 64 bit DMA - limited
<damo22>i think that means the xhci controller supports 64 bit DMA but the pci bus only supports 32
<damo22>youpi: would it damage my hw if i pass through usb host controller to qemu but the disk attached via host is on usb device?
<damo22>i think i will make a disk image i can use instead of raw disk
<damo22>does ` -usb` passed to qemu actually pass through the usb host controllers?
<damo22>or does it emulate them
<damo22>[ 1.0200050] uhci0 at pci0 dev 29 function 0: vendor 8086 product 2934 (rev. 0x03)
<damo22>Thread 4 received signal SIGILL, Illegal instruction.
<damo22>0x08101998 in rumpns_bus_space_write_2 ()
<damo22>thats in qemu
<damo22>#0 0x08101998 in rumpns_bus_space_write_2 ()
<damo22>#1 0x0815f2cd in uhci_pci_attach ()
<youpi>damo22: depends how usb options are configured precisely
<youpi>you can pass-through at the usb protocol level, or a whole pci device, etc.
<youpi>you can also create a virtual usb device with an image attached to a virtual usb stick
***Aranda|away is now known as Aranda