fatyogi / epever-upower-tracer

Linux/Raspberry monitoring scripts for EPsolar UPower hybrid invertors and EPever Tracer charge controllers
Apache License 2.0
28 stars 14 forks source link

Epever CC-USB-RS485-150U Serial USB adapter shows up as QinHeng Electronics in lsusb and doesn't show up in /dev/ttyXR #13

Closed alevchuk closed 1 month ago

alevchuk commented 1 month ago

Hi, I'm trying to follow the guide on monitoring my eprever mmpt. I got the Epever CC-USB-RS485-150U (as labeled, see screenshot) Serial USB adapter. Trying to access the MPPT with my Ubuntu 22.04.4 LTS laptop. It's got 6.4.3 linux.

I'm failing the ls -la /dev/ttyXR* test.

When I installed the driver this was that output:

sudo make install
make -C /lib/modules/6.4.3-060403-generic/build
M=/home/nky/src/epever-upower-tracer/xr_usb_serial_common-1a-linux-3.6+
make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu
12.3.0-1ubuntu1) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic'
sudo cp blacklist-cdc-acm.conf /etc/modprobe.d/
sudo cp xr_usb_serial_common.ko /lib/modules/`uname
-r`/kernel/drivers/tty/serial
sudo depmod -ae
depmod: WARNING: -e needs -E or -F
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-6.4.3-060403-generic

Tried rebooting and reconnecting the USB cord.

lsusb shows

Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial

dmesg shows

[ 1950.499107] usb 1-3: new full-speed USB device number 8 using xhci_hcd
[ 1950.653477] usb 1-3: New USB device found, idVendor=1a86, idProduct=55d3, bcdDevice= 4.45
[ 1950.653495] usb 1-3: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[ 1950.653502] usb 1-3: Product: USB Single Serial
[ 1950.653506] usb 1-3: SerialNumber: 574C030435

Screenshot from 2024-08-06 15-42-08 Screenshot from 2024-08-06 15-42-22

I ordered it from here https://www.amazon.com/dp/B08X6B9112

I'm looking from guidance on how to proceed so that I get the python programmatic access described in https://github.com/fatyogi/epever-upower-tracer

Thank you for your work.

fatyogi commented 1 month ago

Hi A Levchuk

It looks like Epever have changed the vendor for their adapter. It used to be made by Exar and now it is QinHeng.

Currrently QinHeng adapters are not supported, I don’t have a driver for it. And I don’t have such an adapter to test it.

Please try searching for the driver for this adapter and let me know where to find it, I will then make it a part of this repository.

// Laconic style, sent from my phone

On Wed, 7 Aug 2024 at 10:53, A Levchuk @.***> wrote:

Hi, I'm trying to follow the guide on monitoring my eprever mmpt. I got the Epever CC-USB-RS485-150U (as labeled, see screenshot) Serial USB adapter. Trying to access the MPPT with my Ubuntu 22.04.4 LTS laptop. It's got 6.4.3 linux.

I'm failing the ls -la /dev/ttyXR* test.

When I installed the driver this was that output:

sudo make install make -C /lib/modules/6.4.3-060403-generic/build M=/home/nky/src/epever-upower-tracer/xr_usb_serial_common-1a-linux-3.6+ make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic' sudo cp blacklist-cdc-acm.conf /etc/modprobe.d/ sudo cp xr_usb_serial_common.ko /lib/modules/uname -r/kernel/drivers/tty/serial sudo depmod -ae depmod: WARNING: -e needs -E or -F sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-6.4.3-060403-generic

Tried rebooting and reconnecting the USB cord.

lsusb shows

Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial

dmesg shows

[ 1950.499107] usb 1-3: new full-speed USB device number 8 using xhci_hcd [ 1950.653477] usb 1-3: New USB device found, idVendor=1a86, idProduct=55d3, bcdDevice= 4.45 [ 1950.653495] usb 1-3: New USB device strings: Mfr=0, Product=2, SerialNumber=3 [ 1950.653502] usb 1-3: Product: USB Single Serial [ 1950.653506] usb 1-3: SerialNumber: 574C030435

Screenshot.from.2024-08-06.15-42-08.png (view on web) https://github.com/user-attachments/assets/6f65079b-3ab1-4386-b4ea-da7c174291ea Screenshot.from.2024-08-06.15-42-22.png (view on web) https://github.com/user-attachments/assets/0b44bad2-bae2-4034-a6f8-4db76a968f19

I ordered it from here https://www.amazon.com/dp/B08X6B9112

I'm looking from guidance on how to proceed so that I get the python programmatic access described in https://github.com/fatyogi/epever-upower-tracer

Thank you for your work.

— Reply to this email directly, view it on GitHub https://github.com/fatyogi/epever-upower-tracer/issues/13, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4YYOYSYPUK77NJV3FSY7TZQFHWHAVCNFSM6AAAAABMDHPAQWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ2TCOBRGQ2TQNQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

fatyogi commented 1 month ago

Ok, so I found some QinHeng driver. Let's try it - unfortunately I can't do that on your machine

Please update to the latest version of the project (git pull) Then from the epever-upower-tracer project root do the following:

cd qinheng_usb_serial/ch34x/

ls -la /dev/tty* > tty-devs.txt

make

sudo make load

ls -la /dev/tty* > tty-devs.new

Then compare the two files:

diff tty-devs.txt tty-devs.new

Do you see any new device added into /dev/ ?

On Wed, 7 Aug 2024 at 11:09, Olaf @.***> wrote:

Hi A Levchuk

It looks like Epever have changed the vendor for their adapter. It used to be made by Exar and now it is QinHeng.

Currrently QinHeng adapters are not supported, I don’t have a driver for it. And I don’t have such an adapter to test it.

Please try searching for the driver for this adapter and let me know where to find it, I will then make it a part of this repository.

// Laconic style, sent from my phone

On Wed, 7 Aug 2024 at 10:53, A Levchuk @.***> wrote:

Hi, I'm trying to follow the guide on monitoring my eprever mmpt. I got the Epever CC-USB-RS485-150U (as labeled, see screenshot) Serial USB adapter. Trying to access the MPPT with my Ubuntu 22.04.4 LTS laptop. It's got 6.4.3 linux.

I'm failing the ls -la /dev/ttyXR* test.

When I installed the driver this was that output:

sudo make install make -C /lib/modules/6.4.3-060403-generic/build M=/home/nky/src/epever-upower-tracer/xr_usb_serial_common-1a-linux-3.6+ make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic' sudo cp blacklist-cdc-acm.conf /etc/modprobe.d/ sudo cp xr_usb_serial_common.ko /lib/modules/uname -r/kernel/drivers/tty/serial sudo depmod -ae depmod: WARNING: -e needs -E or -F sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-6.4.3-060403-generic

Tried rebooting and reconnecting the USB cord.

lsusb shows

Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial

dmesg shows

[ 1950.499107] usb 1-3: new full-speed USB device number 8 using xhci_hcd [ 1950.653477] usb 1-3: New USB device found, idVendor=1a86, idProduct=55d3, bcdDevice= 4.45 [ 1950.653495] usb 1-3: New USB device strings: Mfr=0, Product=2, SerialNumber=3 [ 1950.653502] usb 1-3: Product: USB Single Serial [ 1950.653506] usb 1-3: SerialNumber: 574C030435

Screenshot.from.2024-08-06.15-42-08.png (view on web) https://github.com/user-attachments/assets/6f65079b-3ab1-4386-b4ea-da7c174291ea Screenshot.from.2024-08-06.15-42-22.png (view on web) https://github.com/user-attachments/assets/0b44bad2-bae2-4034-a6f8-4db76a968f19

I ordered it from here https://www.amazon.com/dp/B08X6B9112

I'm looking from guidance on how to proceed so that I get the python programmatic access described in https://github.com/fatyogi/epever-upower-tracer

Thank you for your work.

— Reply to this email directly, view it on GitHub https://github.com/fatyogi/epever-upower-tracer/issues/13, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4YYOYSYPUK77NJV3FSY7TZQFHWHAVCNFSM6AAAAABMDHPAQWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ2TCOBRGQ2TQNQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

alevchuk commented 1 month ago

the new tty did not show up

the driver built and installed fine

[~/src/epever-upower-tracer/qinheng_usb_serial/ch34x]$ make
make -C /lib/modules/6.4.3-060403-generic/build  M=/home/nky/src/epever-upower-tracer/qinheng_usb_serial/ch34x  
make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic'

[~/src/epever-upower-tracer/qinheng_usb_serial/ch34x]$ sudo make install
make -C /lib/modules/6.4.3-060403-generic/build  M=/home/nky/src/epever-upower-tracer/qinheng_usb_serial/ch34x  
make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic'
rmmod ch341 || true
insmod ch341.ko || true
mkdir -p /lib/modules/6.4.3-060403-generic/kernel/drivers/usb/serial/ || true
cp -f ./ch341.ko /lib/modules/6.4.3-060403-generic/kernel/drivers/usb/serial/ || true
depmod -a

dmesg showed:

[  419.158861] ch341: loading out-of-tree module taints kernel.
[  419.158871] ch341: module verification failed: signature and/or required key missing - tainting kernel
[  419.160295] usbcore: registered new interface driver usb_ch341
[  419.160299] ch341: USB serial driver for ch340, ch341, etc.
[  419.160301] ch341: V1.7 On 2023.07

then i tried rebooting, uninstalling the xr_usb_serial_common-1a-linux-3.6+ driver, reinstalling this one ( qinheng_usb_serial ), unplugging and re-plugging the cable. same result.

fatyogi commented 1 month ago

Ok, thanks

Well, that didn’t work. The driver must be for another QinHeng device / model.

I suggest contacting the supplier for your cable and asking them where the Linux driver can be found for this particular adapter. At least ask them to give you the device model so you can google it.

Don’t be bothered with the XR driver, I don’t think it’s going to work for you.

// Laconic style, sent from my phone

On Thu, 8 Aug 2024 at 03:31, A Levchuk @.***> wrote:

the new tty did not show up

the driver built and installed fine

[~/src/epever-upower-tracer/qinheng_usb_serial/ch34x]$ make make -C /lib/modules/6.4.3-060403-generic/build M=/home/nky/src/epever-upower-tracer/qinheng_usb_serial/ch34x make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic'

[~/src/epever-upower-tracer/qinheng_usb_serial/ch34x]$ sudo make install make -C /lib/modules/6.4.3-060403-generic/build M=/home/nky/src/epever-upower-tracer/qinheng_usb_serial/ch34x make[1]: Entering directory '/usr/src/linux-headers-6.4.3-060403-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 make[1]: Leaving directory '/usr/src/linux-headers-6.4.3-060403-generic' rmmod ch341 || true insmod ch341.ko || true mkdir -p /lib/modules/6.4.3-060403-generic/kernel/drivers/usb/serial/ || true cp -f ./ch341.ko /lib/modules/6.4.3-060403-generic/kernel/drivers/usb/serial/ || true depmod -a

dmesg showed:

[ 419.158861] ch341: loading out-of-tree module taints kernel. [ 419.158871] ch341: module verification failed: signature and/or required key missing - tainting kernel [ 419.160295] usbcore: registered new interface driver usb_ch341 [ 419.160299] ch341: USB serial driver for ch340, ch341, etc. [ 419.160301] ch341: V1.7 On 2023.07

then i tried rebooting, uninstalling the xr_usb_serial_common-1a-linux-3.6+ driver, reinstalling this one ( qinheng_usb_serial ), unplugging and re-plugging the cable. same result.

— Reply to this email directly, view it on GitHub https://github.com/fatyogi/epever-upower-tracer/issues/13#issuecomment-2273751015, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4YYOZA26A57Q7WOOY7NHLZQI4WVAVCNFSM6AAAAABMDHPAQWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTG42TCMBRGU . You are receiving this because you commented.Message ID: @.***>

alevchuk commented 1 month ago

Turns out driver install is not needed. All I had to do is SolarTracer(device="/dev/ttyACM0")

Once again, thanks for the awesome library!

fatyogi commented 1 month ago

Oh, that’s great news and thank you for troubleshooting! I guess I should make it a part of the instructions.

What’s the easiest way to diagnose if you have a QinHeng adapter?

// Laconic style, sent from my phone

On Sat, 17 Aug 2024 at 09:44, A Levchuk @.***> wrote:

Turns out driver install is not needed. All I had to do is SolarTracer(device="/dev/ttyACM0")

Once again, thanks for the awesome library!

— Reply to this email directly, view it on GitHub https://github.com/fatyogi/epever-upower-tracer/issues/13#issuecomment-2294352956, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4YYO3FB4JY24WKDFBYMUTZRZXCVAVCNFSM6AAAAABMDHPAQWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJUGM2TEOJVGY . You are receiving this because you commented.Message ID: @.***>

alevchuk commented 1 month ago

Oh, that’s great news and thank you for troubleshooting! I guess I should make it a part of the instructions. What’s the easiest way to diagnose if you have a QinHeng adapter? // Laconic style, sent from my phone

lsusb would show "Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial" and ls /dev/ttyACM* would show devices