Good morning Oliver, thank you very much for the reply. I will try to build a test kernel hopefully later this evening and I'll get back to you. Meanwhile you can see in the attachment in my first email the output of `$ lsusb -v -d 152d:1561` Is there a way to test UAS without recompiling the Kernel? Like a Kernel argument or modprobe option? Best regards, Julian Xhokaxhiu Full Stack Developer, IT Practised (ISCED 4) https://julianxhokaxhiu.com/ On Tue, Oct 16, 2018 at 10:14 AM Oliver Neukum <oneukum@xxxxxxxx> wrote: > > On Mo, 2018-10-15 at 14:12 +0200, Julian Xhokaxhiu wrote: > > Hi Oliver, > > > > I'm currently using the latest 4.18.12 mainline ( on Arch > > https://www.archlinux.org/packages/core/x86_64/linux/ ), and yes > > you're right I am NOT using UAS at the moment. The link I left is > > because I noticed those errors on dmesg, and I thought I had it > > enabled. This is why I am writing to you right now :) > > > > I personally think the SSD sometimes hangs because TRIM commands are > > not sent properly to the adapter. Although I'm not 100% sure, this is > > why I would like to test UAS. > > > > Can you please point me to the right instructions for trying UAS on my > > adapter? So I can report back the outcome. > > > > Also I noticed that is blacklisted because it's detected as ASMedia ( > > although it's JMicron ) and falls in one of the four cases that checks > > for speed ( or something like that, I can't find the link to the > > source code again otherwise I would have pointed to the code line ). > > If it is detected as ASMedia, you can make a test kernel that removes > this code: > > if (le16_to_cpu(udev->descriptor.idVendor) == 0x174c && > (le16_to_cpu(udev->descriptor.idProduct) == 0x5106 || > le16_to_cpu(udev->descriptor.idProduct) == 0x55aa)) { > if (udev->actconfig->desc.bMaxPower == 0) { > /* ASM1153, do nothing */ > } else if (udev->speed < USB_SPEED_SUPER) { > /* No streams info, assume ASM1051 */ > flags |= US_FL_IGNORE_UAS; > } else if (usb_ss_max_streams(&eps[1]->ss_ep_comp) == 32) { > /* Possibly an ASM1051, disable uas */ > flags |= US_FL_IGNORE_UAS; > } else { > /* ASM1053, these have issues with large transfers */ > flags |= US_FL_MAX_SECTORS_240; > } > } > > from uas-detect.h > > Yet it seems not to match the log you posted. Could you post the output of > "lsusb -v" for your device? > > A problem with TRIM is certainly worth investigating. > > Regards > Oliver >