Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there support for TL series fans and controller? #11

Open
bonkas opened this issue Mar 19, 2024 · 11 comments
Open

Is there support for TL series fans and controller? #11

bonkas opened this issue Mar 19, 2024 · 11 comments

Comments

@bonkas
Copy link

bonkas commented Mar 19, 2024

Is there support for TL series fans and controller?

I have these in my system and can provide any troubleshooting required to make this work.

@bcarvalho2500
Copy link

bcarvalho2500 commented Apr 7, 2024

@bonkas Are you on Linux? I have a fork of this repo where I can add your product id and fan specs to see if that works.

@bonkas
Copy link
Author

bonkas commented Apr 7, 2024

@bcarvalho2500 Yes I dual boot this system with Windows and PopOS.

This is what is reported from Windows:

image

@bcarvalho2500
Copy link

bcarvalho2500 commented Apr 7, 2024

@bonkas Huh that has a VID I was not expecting. Can you try running lsusb -v | grep -i 0cf2 on PopOS and see if that returns anything? If that doesn't return anything can you try lsusb -v | grep -i lianli

@bonkas
Copy link
Author

bonkas commented Apr 7, 2024

@bcarvalho2500 I certainly can, Just at work atm but can do in ~6 hours time :P.

I will edit this message once I have more information.

EDIT:

Okay the first and second command did not return anything.

Dumping a complete list I found this device which you may be interested in (I also attached the complete dump of lsusb -v)
USBDeviceDump.txt
:

Bus 001 Device 005: ID 0416:7372 Winbond Electronics Corp. TL_Series_ControllerV0.58
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0416 Winbond Electronics Corp.
idProduct 0x7372
bcdDevice 1.01
iManufacturer 0
iProduct 2 TL_Series_ControllerV0.58
iSerial 1 Nuvoton
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x004b
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 63
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 32
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled

@bcarvalho2500
Copy link

bcarvalho2500 commented Apr 8, 2024

@bonkas Alright I think I may have something that will work. Just for my piece of mind there are somethings in the original code that I don't exactly understand so I copied the lines for the 'SLI' fans which are relatively new also. How the whole program works is that it just edits the files on start so if it doesn't work and uninstall and reboot should do the trick.

If you wanna go ahead and try it out you can clone it with this: git clone -b feature/add_support_for_tl_fans --single-branch https://github.com/bcarvalho2500/uni-sync.git

Please let me know how it works!

@bonkas
Copy link
Author

bonkas commented Apr 9, 2024

hmm I am still having no luck, I am thinking it is a "me" problem though.

I have been uninstalling, installing, rebooting over and over a number of times now but I am not getting the config file to populate except for ONCE it populated (I will paste contents below) I noticed the RGB dissapeared from the fans so something must have communicated with the fans so I tried to increase the fan speed to 100% and restart the service but nothing happened. I havent been able to repeat the config file being created since.

I have tried installing as my regular user and using sudo to no avail, the config file is either not created or is created as an empty json in the folder containing the application. The path given in the github doesnt seem to exist either, well I can see it but cannot do anything with it... not sure what is going on here.

Is this something you can offer some assistance with?

This is the config I managed to generate ONE time only.

{
"configs": [
{
"device_id": "VID:1046/PID:29554/SN:Nuvoton",
"sync_rgb": false,
"channels": [
{
"mode": "Manual",
"speed": 100
},
{
"mode": "Manual",
"speed": 100
},
{
"mode": "Manual",
"speed": 100
},
{
"mode": "Manual",
"speed": 100
}
]
}
]
}

@bonkas
Copy link
Author

bonkas commented Apr 9, 2024

Welp! Rebooting into windows gives me device not recognised and the L-Connect software can no longer see the controller.

The fans are stuck at full speed now with no active RGB activity either, I now have an added 8-10s boot time at BIOS with a flashing cursor... uh-oh.

EDIT:

After a full power down of the system and reboot it now seems to be booting normally and I have RGB activity, uninstalled and reinstalled device drivers and now the error is gone and the l-connect software can see the controller again.. whew.

Tried again and as soon as the app service starts the controller goes wonky again, I guess something is not right here.

@bcarvalho2500
Copy link

@bonkas So the empty json is created when you install but when the application first runs, that's when the json is filled with default values and once the json is filled out, it's never created again. So if I read what you said correctly, that should be normal behavior.

I'll need to take a look more into how to write to HID devices to try and see why yours didn't work. Your fans vendor id was different from all the others so maybe something changed there? I'll try to learn how to get report data but may need you to provide it since you have a working L-connect with those fans.

Sorry I couldn't get it to work sooner.

@bonkas
Copy link
Author

bonkas commented Apr 10, 2024

Yup, happy to help further but am a bit out of my depth here.

I have tried to include as much information as possible about what I noticed to try narrow down the issue but it seems the controller gets communicated with and then freaks out, only a hard reset of the device and then subsequent drive removal/reinstall in windows resolves this.

@mega-watt
Copy link

Hello,

I want to add to this issue to hopefully help.
The newer TL hubs seem to have somethings that is above the controller.

lsusb output:

Bus 003 Device 005: ID 0416:7372 Winbond Electronics Corp. TL_Series_ControllerV0.58
Bus 003 Device 003: ID 1a40:0801 Terminus Technology Inc. USB 2.0 Hub

lsusb -t output:

/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 6: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 3: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 5, If 2, Class=Human Interface Device, Driver=usbhid, 12M

Looking forward to seeing this support the TL line.

Regards.

@YamiYukiSenpai
Copy link

Any changes since?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants