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

Greencell Micropower 600 not shutting down, First supported language ID: 0x9 (please report to the NUT maintainer!) #1080

Closed
tylkomat opened this issue Aug 26, 2021 · 10 comments
Labels
DDL HCL raspberry USB VID=0001 PID=0000 (Fry's Electronics/MEC0003) Seems to be a generic USB chip interfacing many devices and protocols (Qx, USB HID, ATCL...) USB

Comments

@tylkomat
Copy link

The UPS looks to be using working with the blazer_usb driver. My current ups.conf has just basic values:

maxretry = 3
xretry = 5
pollinterval = 5

[greencell]
  driver = "blazer_usb"
  port = "auto"
  langid_fix = 0x409

upsc gives the following output

upsc greencell@127.0.0.1
Init SSL without certificate database
battery.charge: 100
battery.voltage: 13.60
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.name: blazer_usb
driver.parameter.langid_fix: 0x409
driver.parameter.pollinterval: 5
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.internal: 0.12
input.current.nominal: 2.0
input.frequency: 50.1
input.frequency.nominal: 50
input.voltage: 236.7
input.voltage.fault: 236.7
input.voltage.nominal: 230
output.voltage: 236.7
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 3
ups.productid: 0000
ups.status: OL
ups.type: offline / line interactive
ups.vendorid: 0001

The different status events are properly reported and my connected raspberry pi shuts down as expected, but the UPS does not shut down.
When I issue the upsdrvctl shutdown command I get the following output, but nothing happens:

upsdrvctl shutdown
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Megatec/Q1 protocol USB driver 0.12 (2.7.4)
Initiating UPS shutdown
instcmd(shutdown.stop, [NULL])
instcmd: command [shutdown.stop] handled
instcmd(shutdown.return, [NULL])
instcmd: command [shutdown.return] handled
Shutting down in 30 seconds

Connecting the UPS to my windows notebook and having the Upsilon 2000 software installed I can properly shut down the UPS.

I also used the nut_scanner command and got the following output:

[nutdev1]
        driver = "nutdrv_atcl_usb"
        port = "auto"
        vendorid = "0001"
        productid = "0000"
        product = "MEC0003"
        vendor = "MEC"
        bus = "001"

Using that config I get errors that many properties are not supported by that driver (vendorid, productid, bus and vendor), and talking to the driver I get the following output:

nutdrv_atcl_usb -a nutdev1 -DDDD -u root
Network UPS Tools - 'ATCL FOR UPS' USB driver 1.1 (2.7.4)
Warning: This is an experimental driver.
Some features may not function correctly.

   0.000000     debug level is '4'
   0.001173     Searching for USB device...
   0.018750     Checking USB device [1d6b:0003] (002/001)
   0.033748     - VendorID     : 1d6b
   0.033818     - ProductID    : 0003
   0.033866     - Manufacturer : unknown
   0.033912     - Product      : unknown
   0.033959     - Serial Number: unknown
   0.034004     - Bus          : 002
   0.034050     Device does not match - skipping
   0.034434     Checking USB device [0001:0000] (001/003)
   0.038711     - VendorID     : 0001
   0.038793     - ProductID    : 0000
   0.038846     - Manufacturer : MEC
   0.038898     - Product      : MEC0003
   0.038950     - Serial Number: unknown
   0.039001     - Bus          : 001
   0.039055     Matched device with vendor='MEC'.
   0.041706     USB device [0001:0000] opened
   5.043054     status interrupt read: error sending control message: Operation not permitted
   5.043170     Communications with UPS lost: Query to UPS failed

With my blazer_usb I get the following output:

blazer_usb -a greencell -DDDD -u root
Network UPS Tools - Megatec/Q1 protocol USB driver 0.12 (2.7.4)
   0.000000     debug level is '4'
   0.001260     language ID workaround enabled (using '0x409')
   0.019944     Checking device (1D6B/0003) (002/001)
   0.020153     - VendorID: 1d6b
   0.020219     - ProductID: 0003
   0.020275     - Manufacturer: unknown
   0.020330     - Product: unknown
   0.020381     - Serial Number: unknown
   0.020439     - Bus: 002
   0.020493     - Device release number: 0504
   0.020547     Trying to match device
   0.020611     Device does not match - skipping
   0.020729     Checking device (0001/0000) (001/003)
   0.024886     - VendorID: 0001
   0.024955     - ProductID: 0000
   0.025225     - Manufacturer: MEC
   0.025298     - Product: MEC0003
   0.025355     - Serial Number: unknown
   0.025410     - Bus: 001
   0.025490     - Device release number: 0100
   0.025544     Trying to match device
   0.025604     Device matches
   0.025703     nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   0.027636     First supported language ID: 0x9 (please report to the NUT maintainer!)
   0.027728     Trying megatec protocol...
   0.027774     send: Q1
   0.242191     received 96 (96)
   0.242289     read: (236.7 236.2 236.7 003 50.0 13.6 --.- 00001001
   0.242466     blazer_status: non numerical value [--.-]
   0.242554     Status read in 1 tries
   0.242621     Supported UPS detected with megatec protocol
   0.242703     send: F
   0.346719     received 46 (46)
   0.346840     read: #230.0 002 12.00 50.0
   0.347007     Ratings read in 1 tries
   0.347078     send: I
   0.379698     received 12 (12)
   0.379778     read: #  .
   0.379839     blazer_vendor: short reply
   0.379900     Vendor information read 1 failed
   0.379960     send: I
   0.412457     received 12 (12)
   0.412538     read: #  .
   0.412599     blazer_vendor: short reply
   0.412659     Vendor information read 2 failed
   0.412720     send: I
   0.445243     received 12 (12)
   0.445326     read: #  .
   0.445398     blazer_vendor: short reply
   0.445460     Vendor information read 3 failed
   0.445518     Vendor information unavailable
   0.445578     No values provided for battery high/low voltages in ups.conf

   0.445674     Using 'guestimation' (low: 10.400000, high: 13.000000)!
   0.445738     Battery runtime will not be calculated (runtimecal not set)
   0.445837     send: Q1
   0.659742     received 96 (96)
   0.659830     read: (236.7 236.7 236.7 003 50.0 13.6 --.- 00001001
   0.659958     blazer_status: non numerical value [--.-]
   0.660264     dstate_init: sock /run/nut/blazer_usb-greencell open on fd 5

Note the line First supported language ID: 0x9 (please report to the NUT maintainer!)

I also tried the other langid_fix values that I found, but the result is the same.

Any idea what else I can try?

@jimklimov
Copy link
Member

Please check if similar settings with nutdrv_qx would work with this UPS, at all or better? It is supposed to supercede the Qx protocols earlier written in several drivers.

@tylkomat
Copy link
Author

@jimklimov thanks for the hint. That worked. Using the settings that nut-scanner gave me, except switching to nutdrv_qx works.

[nutdev1]
        driver = "nutdrv_qx"
        port = "auto"
        vendorid = "0001"
        productid = "0000"
        product = "MEC0003"
        vendor = "MEC"
        bus = "001"

@tylkomat
Copy link
Author

If I would be able to disable the beeper then I would have achieved all my goals. beeper.toggle command works, but the driver settings alarm_control = disabled and battery_alarm = disabled don't do anything.

@jbaumann
Copy link

@tylkomat, I just bought the exact same UPS for my RPi, it shows the same vendorid and productid when checking with lsusb, but the nutdrv_qx driver doesn‘t recognize the UPS when I use the configuration you posted (it works with the blazer_usb driver).
Did you change anything to get it to work?
My ultimate goal is to be able to shut down the UPS from the RPi.
What could I try?

This was referenced Feb 10, 2022
@jimklimov jimklimov added USB USB VID=0001 PID=0000 (Fry's Electronics/MEC0003) Seems to be a generic USB chip interfacing many devices and protocols (Qx, USB HID, ATCL...) labels Apr 10, 2022
@jimklimov
Copy link
Member

@tylkomat : just for clarification, with nutdrv_qx does the shutdown also work as expected? Did you build NUT from recent source or used a packaged 2.7.4 when trying that out (possibly the build @jbaumann is using does not have the modernized features yet)?

@tylkomat
Copy link
Author

I used the packaged 2.7.4. I think it was shutting down correctly. I'm unfortunately not near that device to try it out. I may be able to give that information in some months.

@jbaumann
Copy link

I have now retested with a fresh installation of Raspbian (Bullseye) and the version 2.7.4-13, and with these versions the configuration given by @tylkomat works without problems. Thank you very much for all the hard work.

@got3nks
Copy link

got3nks commented Oct 9, 2022

@tylkomat did you get /sbin/upsdrvctl shutdown to work? With my UPS Green Cell 2000V it seems to have no effect.

root@rpi:~# /sbin/upsdrvctl shutdown
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic Q* USB/Serial driver 0.28 (2.7.4)
USB communication driver 0.33
Using protocol: Q1 0.07
Initiating UPS shutdown
instcmd(shutdown.stop, [NULL])
instcmd: SUCCEED
instcmd(shutdown.return, [NULL])
instcmd: SUCCEED
Shutting down in 30 seconds

But nothing happens, the UPS will stay on.
At the same time I found out the command /usr/bin/upscmd -u <user> -p <password> greencell shutdown.return will instead get the UPS to shutdown in 30 seconds, as expected.

My /etc/nut/ups.conf:

maxretry = 3

[greencell]
        driver = "nutdrv_qx"
        default.battery.voltage.high = 25.60
        default.battery.voltage.low = 20.80
        port = "auto"
        desc = "Green Cell UPS"

@tylkomat
Copy link
Author

tylkomat commented Oct 9, 2022

@got3nks Yes, this config was working for me:

[nutdev1]
        driver = "nutdrv_qx"
        port = "auto"
        vendorid = "0001"
        productid = "0000"
        product = "MEC0003"
        vendor = "MEC"
        bus = "001"

@got3nks
Copy link

got3nks commented Oct 12, 2022

Solved in #1673

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DDL HCL raspberry USB VID=0001 PID=0000 (Fry's Electronics/MEC0003) Seems to be a generic USB chip interfacing many devices and protocols (Qx, USB HID, ATCL...) USB
Projects
Status: Todo
Development

No branches or pull requests

4 participants