Últimamente me he inspirado para practicar un poco de autoalojamiento, y mi viejo MBP Early 2015 no está haciendo nada mientras se vende para prácticamente ningún beneficio para mí. Quiero agarrar un disco duro Seagate de repuesto y convertirlo en un servidor de alojamiento de archivos de red local, así que empecé un Servidor Ubuntu en una VM VirtualBox en el MBP. En este punto de mi tarea, si puedo conectar mi disco duro Seagate al servidor virtualizado, estoy efectivamente terminado.
Formateé la unidad a exfat y comencé el proceso, y después de encontrar y arreglar un montón de problemas, me encontré con este mensaje de error condenatorio en el inicio de Ubuntu Server / var / logs / syslogs:
USB controller 0000:00:0c.0 does not support streams, which are required by the UAS driver. Please try an other USB controller if you wish to use UAS.
La presencia de este error tuvo las siguientes consecuencias para mí:
- Pude encontrar la unidad Seagate con
sudo lsusb
pero nosudo fdisk -l
. - No puedo montar la unidad Seagate en mi Ubuntu Server VM.
Para que conste, he considerado otras soluciones de servidor y probado Docker Desktop, Docker, arranque dual, y la sustitución del MacOS con Linux por completo, pero todos estos vienen con sus propios dolores de cabeza y problemas, y no quiero hacer inversiones mientras que en una etapa experimental.
No tengo ni idea de lo que son los streams o UAS, pero sé que es algún tipo de proceso de optimización que tiene algo que ver con USB 3.0. La búsqueda en línea sólo confirma que el MBP 2015 soporta USB 3.0, pero no dice nada acerca de UAS o streams. Esto crea ambigüedad a mi proceso de solución de problemas porque quiero saber donde el proceso de montaje de la unidad ha fallado.
El mensaje de error sugiere que mi Macbook Pro no puede montar la unidad Seagate. Esto parece falso, porque puedo montar la unidad Seagate sin problemas en mi equipo host y ver los archivos que contiene. Así que me preguntaba si era un problema con la forma en que la máquina virtual interactúa con mi MBP, pero mi comprensión podría muy bien estar equivocado.
Conecté mi disco Seagate a una máquina Windows y encendí una máquina virtual de Ubuntu Server con básicamente la misma configuración. En este caso fui capaz de montar con éxito el servidor, y el mensaje de error arroyos no apareció. Ahora, estoy seguro de que el problema es con mi 2015 Macbook Pro. Así que quiero preguntar:
- ¿El controlador USB del Macbook Pro 2015 admite streams? (Si es así, ¿por qué la máquina virtual de Ubuntu Server no lo reconoce?)
- ¿Cómo puedo superar el problema del controlador en general? ¿Actualizo el controlador o desactivo el UAS? Si es así, ¿cómo?
Actualización : Tras realizar más pruebas con unidades Toshiba y Sandisk, parece que sólo la unidad Seagate es la que causa problemas. Además, parece que Wikipedia que parte de la culpa de UAS es de Ubuntu. Esto también es un poco raro, ya que mi Ubuntu en Windows no tenía problemas....
Actualización 2 : Algunos intentos fallidos:
- desactivar UAS (mostrado aquí )
- debilitando la restricción del filtro como se muestra aquí .
- utilizando Ubuntu Server 20 en lugar de 22, lo que introdujo problemas adicionales
- formateando exfat a ext4.
Algunas investigaciones han mostrado problemas similares:
- Disco duro USB capturado pero no se puede ver en el SO huésped .
- El montaje USB no aparece en fdisk
- El USB aparece en lsusb y usb-devices, pero no en fdisk -l o lsblk, ni en /dev/sd*.
Salida adicional de sudo dmesg -w
después de conectar la unidad Seagate:
[ 18.447844] loop4: detected capacity change from 0 to 8
[ 45.758915] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 45.782780] usb 2-1: New USB device found, idVendor=0bc2, idProduct=2344, bcdDevice= 7.12
[ 45.782785] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 45.782787] usb 2-1: Product: Portable
[ 45.782788] usb 2-1: Manufacturer: Seagate
[ 45.782790] usb 2-1: SerialNumber: NAAZ8K3W
[ 45.824058] usb 2-1: UAS is ignored for this device, using usb-storage instead
[ 45.824061] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 45.824476] usb-storage 2-1:1.0: Quirks match for vid 0bc2 pid 2344: 800000
[ 45.828004] scsi host3: usb-storage 2-1:1.0
[ 45.828259] usbcore: registered new interface driver usb-storage
[ 45.832897] usbcore: registered new interface driver uas
[ 67.498444] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd
Mirará más en la línea de "usb en lsusb no fdisk" búsquedas en google.
Actualización 3: He encontrado una solución que funciona. En lugar de montar Seagate como una unidad USB, lo formateé a APFS y monté Seagate al host primero en /Volumes/SEAGATE
y luego montado /Volumes/SEAGATE
como carpeta compartida, tal y como se muestra aquí .
Las pruebas iniciales superadas incluyen:
- añada
helloworld.txt
a la unidad Seagate desde el Host.helloworld.txt
se puede ver desde Guest. - escriba a
helloworld.txt
desde el Host a la carpeta compartida montada. Esto requiere privilegios sudo., pero se puede ver desde Host.
Aplazaré el juicio después de algunas pruebas más.
Actualización 4: La actualización 3 me funciona, acabo de ver un video de Jellyfin donde se almacenan los datos en la unidad Seagate desde otro ordenador. Respuesta publicada.