Re: RES: TP-LINK USB no carrier after speed test

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Fri, 16 Sep 2022 14:36:26 UTC
On 9/16/22 16:31, Ivan Quitschal wrote:
> 
> 
>> -----Mensagem original-----
>> De: Hans Petter Selasky <hps@selasky.org>
>> Enviada em: sexta-feira, 16 de setembro de 2022 10:40
>> Para: Ivan Quitschal <tezeka@hotmail.com>
>> Cc: freebsd-current@freebsd.org
>> Assunto: Re: TP-LINK USB no carrier after speed test
>>
>> On 9/16/22 14:18, Ivan Quitschal wrote:
>>>
>>>
>>> On Fri, 16 Sep 2022, Hans Petter Selasky wrote:
>>>
>>>> On 9/16/22 08:34, Hans Petter Selasky wrote:
>>>>> On 9/16/22 08:20, Hans Petter Selasky wrote:
>>>>>> On 9/15/22 17:36, Ivan Quitschal wrote:
>>>>>>>
>>>>>>>
>>>>>>> On Thu, 15 Sep 2022, Ivan Quitschal wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, 15 Sep 2022, Hans Petter Selasky wrote:
>>>>>>>>
>>>>>>>>> On 9/15/22 17:18, Hans Petter Selasky wrote:
>>>>>>>>>> On 9/15/22 17:16, Ivan Quitschal wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi All
>>>>>>>>>>>
>>>>>>>>>>> Does anybody have any idea what could be happening here?.
>>>>>>>>>>> I have a laptop DELL INSPIRON 3511 and everything works just
>>>>>>>>>>> fine, literally everything. even the iwlwifi0.
>>>>>>>>>>>
>>>>>>>>>>> But in order to use my full 600mbps, i dont use the wireless
>>>>>>>>>>> but a TP-LINK USB ethernet connected on "ue0"
>>>>>>>>>>>
>>>>>>>>>>> ugen0.6: <TP-Link USB 10/100/1000 LAN> at usbus0, cfg=0
>>>>>>>>>>> md=HOST spd=HIGH (480Mbps) pwr=ON (200mA)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> but something really strange is happening .. everytime i open
>>>>>>>>>>> the chromium e do a speedtest (could be speedtest.net or any
>>>>>>>>>>> other) , at the end of the test the eth interface dies .. it
>>>>>>>>>>> changes from full-duplex to half-duplex/no carrier and the
>>>>>>>>>>> only way to get the internet back thru ue0 is by rebooting the
>>>>>>>>>>> whole thing.
>>>>>>>>>>> not even a "service netif restart" does anything
>>>>>>>>>>>
>>>>>>>>>>> if anyone has any ideas why is that , would be appreciated
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I think it some new features they use in the USB data protocol
>>>>>>>>>> which we don't support. Check the Linux code.
>>>>>>>>>>
>>>>>>>>>> Between does:
>>>>>>>>>>
>>>>>>>>>> usbconfig -d 0.6 reset
>>>>>>>>>>
>>>>>>>>>> recover the device?
>>>>>>>>>>
>>>>>>>>>> --HPS
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Search for axge on bugzilla:
>>>>>>>>>
>>>>>>>>> I suspect you are using this chipset:
>>>>>>>>>
>>>>>>>>> Try:
>>>>>>>>>
>>>>>>>>> usbconfig show_ifdrv
>>>>>>>>>
>>>>>>>>> To know for sure.
>>>>>>>>>
>>>>>>>>> Also see:
>>>>>>>>>
>>>>>>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%
>>>>>>>>>
>> 2Fbugs.freebsd.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D210488&amp;d
>>>>>>>>>
>> ata=05%7C01%7C%7C7d0b875611fa4c22aa6808da97e8f75a%7C84df9e7fe9f6
>>>>>>>>>
>> 40afb435aaaaaaaaaaaa%7C1%7C0%7C637989324107373931%7CUnknown%7C
>> TW
>>>>>>>>>
>> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLC
>>>>>>>>>
>> JXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=o%2B12TNKJ4bcBBj1b4r4TT
>> 1f
>>>>>>>>> xyEalCMDMjOepy3MZm5c%3D&amp;reserved=0
>>>>>>>>>
>>>>>>>>> --HPS
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Hans,
>>>>>>>>
>>>>>>>> actually the driver i use is not agxe (i thought it would be by
>>>>>>>> the time i bought the usbcard)
>>>>>>>>
>>>>>>>> this is the module im using
>>>>>>>>
>>>>>>>> if_ure.ko
>>>>>>>>
>>>>>>>> and thank you , yes, reseting the usb entry with your command
>>>>>>>> worked just fine.
>>>>>>>> i got the internet back after doing this
>>>>>>>>
>>>>>>>> usbconfig -d 0.6 reset
>>>>>>>>
>>>>>>>> do we have a bug here then?
>>>>>>>>
>>>>>>>> thank you
>>>>>>>>
>>>>>>>> --tzk
>>>>>>>>
>>>>>>>
>>>>>>> oh, i forgot to mention that the ure driver freezes not during the
>>>>>>> download test but in the middle of the upload, always
>>>>>>>
>>>>>>> dont know if that helps
>>>>>>>
>>>>>>> thanks
>>>>>>>
>>>>>>> --tzk
>>>>>>
>>>>>> Hi Ivan,
>>>>>>
>>>>>> Yes, there seems to be problem there. I need to look at the driver.
>>>>>> Maybe it is simply sending too much data, than the device can handle!
>>>>>>
>>>>>> --HPS
>>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Try lowering this constant to 8192:
>>>>>
>>>>> sys/dev/usb/net/if_urereg.h:#define    URE_TX_BUFSZ        16384
>>>>>
>>>>> Then recompile and install if_ure:
>>>>>
>>>>> make -C sys/modules/usb/ure KMODDIR=/boot/kernel all install
>>>>>
>>>>> --HPS
>>>>>
>>>>
>>>> You can also try other values, like subtracting one.
>>>>
>>>> --HPS
>>>>
>>>
>>>
>>> hi Hans,
>>>
>>> it worked but with a cost.
>>>
>>> i tried 8192 and it works 5 tests (5 speed tests in a row). freezes on
>>> the 6th.
>>>
>>> then i tried 4096 no success
>>>
>>> then i tried bufsize 2048 and its working now, i did several tests in
>>> a row and the internet keeps working just fine. but i noticed that the
>>> speed also dropped.
>>>
>>> with the same server , testing on windows, it goes like:
>>> 600 download / 300 upload
>>>
>>> and on freebsd with 2048 bufsiz it goes like:
>>> 300 download / 150 upload
>>>
>>>
>>> so it worked with a cost like i said, i had to give up half of my
>>> bandwitch
>>>
>>> what do you think ?
>>>
>>> and thank you again
>>>
>>> --tzk
>>
>> Hi,
>>
>> Can you try this instead:
>>
>> usbconfig -d X.Y set_config 1
>>
>> X.Y are the numbers after ugenX.Y
>>
>> Then it will use a different driver.
>>
>> --HPS
> 
> Hi Hans,
> 
> After the usbconfig -d X.Y set_config 1, the interface doesn't work anymore, how can I undo this?
> 
> Thanks
> 
> Ivan
> 

usbconfig -d X.Y set_config 0

or

usbconfig -d X.Y reset

Did you check dmesg?

--HPS