1 1
chomiczon

Rock64 + ICYBOX IB-RD2253-U31

Recommended Posts

Hi.

I have problem with Rock64 and ICYBOX IB-RD2253-U31 (USB3.1 Raid Enclosure)

Kernel:

Linux rock64 4.4.167-rockchip64 #3 SMP Sat Jan 12 18:58:23 CET 2019 aarch64 GNU/Linux

 

dmesg on ICYBOX connected:

[    3.112348] usb 1-1: New USB device found, idVendor=1234, idProduct=5678
[    3.112362] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    3.112368] usb 1-1: Product: ASM1352R-Safe
[    3.112374] usb 1-1: Manufacturer: Asmedia
[    3.112379] usb 1-1: SerialNumber: 123412341249
[    3.113303] input: Asmedia ASM1352R-Safe as /devices/platform/ff580000.usb/usb1/1-1/1-1:1.0/input/input1

 

Rock64#lsusb -v -t -d 1234:5678

/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usbtouchscreen, 480M

 

As you can see Mass Storage uses Driver=usbtouchscreen and I can't change it using udev mapping

 

ACTION=="add", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", RUN+="/sbin/modprobe uas" RUN+="/bin/sh -c 'echo 1234 5678 > /sys/bus/usb/drivers/uas/new_id'"

 

After udev:

 

rock64:~# lsusb -v -t -d 1234:5678
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usbtouchscreen, 480M

 

On Debian9 x86_64 and RaspberryPi 2, ICYBOX work perfectly. Any ideas why it doesn't work on Rock64?

 

 

Share this post


Link to post
Share on other sites

Hello,

 

Were you able to set the right driver to the enclosure?

 

I was able to get the RAID enclosure to be recognised by Armbian by unbinding the usbtouchscreen driver and then binding the uas driver to the enclosure.

The device is still in two independent drives configuration (single mode), i didnt test any of the others but, i suppose that will not be a problem.

 

In my case i done the following:

 

Unbind:

echo -n "5-1:1.0" > /sys/bus/usb/drivers/usbtouchscreen/unbind

 

Confirm that nothing was binding to the device:

tree /sys/bus/usb/devices/5-1:1.0

 

Bind the uas driver to the device.

echo -n "5-1:1.0" > /sys/bus/usb/drivers/uas/bind

 

After this the raid enclosure was available to use, doing a small speed test i got 40 MBps of a file transfer from the rock to my desktop.

 

But now im facing another problem, if i do a reboot the enclosure is associated with the usbtouchsreen driver again.

 

Do you or anyone have any idea on how i can specify a driver to be used for a device?

 

Thanks

Share this post


Link to post
Share on other sites

Well after some more digging i have come to a solution that solves my problem.

 

In "/etc/udev/rules.d" i added the file "98-icybox.rules" and inside it i placed the following:

 

ACTION=="add", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", RUN+="/sbin/modprobe uas" RUN+="/bin/sh -c 'echo -n \"5-1:1.0\" > /sys/bus/usb/drivers/usbtouchscreen/unbind'" RUN+="/bin/sh -c 'echo -n \"5-1:1.0\" > /sys/bus/usb/drivers/uas/bind'"

 

Now the Raid enclosure works right from boot.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
1 1