MediaSmartServer.net
http://www.mediasmartserver.net/forums/

Here is a linux driver for the H340 leds
http://www.mediasmartserver.net/forums/viewtopic.php?f=23&t=7720
Page 7 of 9

Author:  mugenbb6 [ Fri Aug 24, 2012 9:35 am ]
Post subject:  Re: Here is a linux driver for the H340 leds

@merelin

The new source works. :) Here is the output:

./mediasmartserverd --activity
Found: HP MediaSmart Server 48X
/sys/devices/pci0000:00/0000:00:1f.2/host1
(?) scsi_host_index: 1
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sda, offset: 1, scsi_host_index: 0
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sda' (block)
/sys/devices/pci0000:00/0000:00:1f.2/host1
(?) scsi_host_index: 1
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sda, offset: 1, scsi_host_index: 0
/sys/devices/pci0000:00/0000:00:1f.2/host2
(?) scsi_host_index: 2
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdb, offset: 1, scsi_host_index: 1
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdb' (block)
/sys/devices/pci0000:00/0000:00:1f.2/host2
(?) scsi_host_index: 2
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdb, offset: 1, scsi_host_index: 1
/sys/devices/pci0000:00/0000:00:1f.2/host3
(?) scsi_host_index: 3
/sys/class/scsi_host/host3 <=> /sys/devices/pci0000:00/0000:00:1f.2/host3
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdc, offset: 1, scsi_host_index: 2
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdc' (block)
/sys/devices/pci0000:00/0000:00:1f.2/host3
(?) scsi_host_index: 3
/sys/class/scsi_host/host3 <=> /sys/devices/pci0000:00/0000:00:1f.2/host3
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdc, offset: 1, scsi_host_index: 2
/sys/devices/pci0000:00/0000:00:1f.2/host4
(?) scsi_host_index: 4
/sys/class/scsi_host/host4 <=> /sys/devices/pci0000:00/0000:00:1f.2/host4
/sys/class/scsi_host/host3 <=> /sys/devices/pci0000:00/0000:00:1f.2/host3
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdd, offset: 1, scsi_host_index: 3
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdd' (block)
/sys/devices/pci0000:00/0000:00:1f.2/host4
(?) scsi_host_index: 4
/sys/class/scsi_host/host4 <=> /sys/devices/pci0000:00/0000:00:1f.2/host4
/sys/class/scsi_host/host3 <=> /sys/devices/pci0000:00/0000:00:1f.2/host3
/sys/class/scsi_host/host2 <=> /sys/devices/pci0000:00/0000:00:1f.2/host2
/sys/class/scsi_host/host1 <=> /sys/devices/pci0000:00/0000:00:1f.2/host1
/sys/class/scsi_host/host0 <=> /sys/devices/pci0000:00/0000:00:1f.2/host0
/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdd, offset: 1, scsi_host_index: 3

Author:  merelin [ Fri Aug 24, 2012 10:36 am ]
Post subject:  Re: Here is a linux driver for the H340 leds

@mugenbb6

Good news! It works for me too hence everything seems to be working. I'll do packaging later on. Thank you for the testing!

Cheers!

Author:  merelin [ Thu Aug 30, 2012 5:27 am ]
Post subject:  Re: Here is a linux driver for the H340 leds

@mugenbb6

I've created a PPA https://launchpad.net/~merelin/+archive/mediasmartserverd.
Think lucid should be OK for you. Please install and give your feedback.

Cheers!

Author:  sparkvolt [ Thu Dec 27, 2012 9:12 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

Took a little bit of fiddling with stuff, but I have the addresses for H341.

HDD 1 Red : 0x59
HDD 2 Red : 0x58
HDD 3 Red : 0x4E or 0x56
HDD 4 Red : 0x51

HDD 1 Blue : 0x4B or 0x53
HDD 2 Blue : 0x4C or 0x54
HDD 3 Blue : 0x52
HDD 4 Blue : 0x50

i Red : 0x18
i Blue : 0x0A
Power : 0x1B
USB : 0x12

I plugged them into led_acerh340.h and changed detection to accept DID/VID combo from H341 and all LEDs are working flawlessly on my H341:
Code:
/// mappings for LEDs
        enum {
                OUT_BLUE0               = 0x4b,
                OUT_BLUE1               = 0x4c,
                OUT_BLUE2               = 0x52,
                OUT_BLUE3               = 0x50,

                OUT_RED0                = 0x59,
                OUT_RED1                = 0x58,
                OUT_RED2                = 0x4e,
                OUT_RED3                = 0x51,

                //-
                OUT_USB_DEVICE  = 0x06, ///< bit 6

                OUT_USB_LED             = 0x12,
                OUT_POWER               = 0x1b,
                OUT_SYSTEM_RED       = 0x18,
                OUT_SYSTEM_BLUE      = 0x0A,
        };



Cheers

Author:  merelin [ Fri Dec 28, 2012 3:04 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

sparkvolt wrote:
Took a little bit of fiddling with stuff, but I have the addresses for H341.

HDD 1 Red : 0x59
HDD 2 Red : 0x58
HDD 3 Red : 0x4E or 0x56
HDD 4 Red : 0x51

HDD 1 Blue : 0x4B or 0x53
HDD 2 Blue : 0x4C or 0x54
HDD 3 Blue : 0x52
HDD 4 Blue : 0x50

i Red : 0x18
i Blue : 0x0A
Power : 0x1B
USB : 0x12

I plugged them into led_acerh340.h and changed detection to accept DID/VID combo from H341 and all LEDs are working flawlessly on my H341:
Code:
/// mappings for LEDs
        enum {
                OUT_BLUE0               = 0x4b,
                OUT_BLUE1               = 0x4c,
                OUT_BLUE2               = 0x52,
                OUT_BLUE3               = 0x50,

                OUT_RED0                = 0x59,
                OUT_RED1                = 0x58,
                OUT_RED2                = 0x4e,
                OUT_RED3                = 0x51,

                //-
                OUT_USB_DEVICE  = 0x06, ///< bit 6

                OUT_USB_LED             = 0x12,
                OUT_POWER               = 0x1b,
                OUT_SYSTEM_RED       = 0x18,
                OUT_SYSTEM_BLUE      = 0x0A,
        };



Cheers


sparkvolt

If you sent me a patch or a pull request I would merge it and made a new version. Please try not to break the H340 functionality.

Cheers.

Author:  dg3feh [ Sat Jan 19, 2013 9:11 am ]
Post subject:  Re: Here is a linux driver for the H340 leds

Hello!

tried that by changing the lines to ur code in led_acerh340.h. Could u please also post the changes for the did_vid part? I ahve no idea to figure that out ;) or better: post the whole led_acerh340.h ;)

The output I get is:

root@server-hh:~/mediasmartserverd# ./mediasmartserverd -a --debug -v -v
LedHpEx48X: Device 0x86
Found: HP MediaSmart Server 48X
device: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
led: 0
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
led: 0
device: /sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
led: 1
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
led: 1
device: /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd
led: 2
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd
led: 2
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0

So it still doesn't use the led_acerh340.h

Thanks, Holger


sparkvolt wrote:
Took a little bit of fiddling with stuff, but I have the addresses for H341.

HDD 1 Red : 0x59
HDD 2 Red : 0x58
HDD 3 Red : 0x4E or 0x56
HDD 4 Red : 0x51

HDD 1 Blue : 0x4B or 0x53
HDD 2 Blue : 0x4C or 0x54
HDD 3 Blue : 0x52
HDD 4 Blue : 0x50

i Red : 0x18
i Blue : 0x0A
Power : 0x1B
USB : 0x12

I plugged them into led_acerh340.h and changed detection to accept DID/VID combo from H341 and all LEDs are working flawlessly on my H341:
Code:
/// mappings for LEDs
        enum {
                OUT_BLUE0               = 0x4b,
                OUT_BLUE1               = 0x4c,
                OUT_BLUE2               = 0x52,
                OUT_BLUE3               = 0x50,

                OUT_RED0                = 0x59,
                OUT_RED1                = 0x58,
                OUT_RED2                = 0x4e,
                OUT_RED3                = 0x51,

                //-
                OUT_USB_DEVICE  = 0x06, ///< bit 6

                OUT_USB_LED             = 0x12,
                OUT_POWER               = 0x1b,
                OUT_SYSTEM_RED       = 0x18,
                OUT_SYSTEM_BLUE      = 0x0A,
        };



Cheers

Author:  joel_carvajal [ Sun Jan 20, 2013 7:32 am ]
Post subject:  Re: Here is a linux driver for the H340 leds

I'll search the forum too but will appreciate if anybody can refer me to a similar effort to control the ex495 LEDs under freenas.thanks

Sent from my GT-S5360 using Tapatalk 2

Author:  sparkvolt [ Wed Jan 23, 2013 3:08 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

dg3feh wrote:
Hello!

tried that by changing the lines to ur code in led_acerh340.h. Could u please also post the changes for the did_vid part? I ahve no idea to figure that out ;) or better: post the whole led_acerh340.h ;)

The output I get is:

root@server-hh:~/mediasmartserverd# ./mediasmartserverd -a --debug -v -v
LedHpEx48X: Device 0x86
Found: HP MediaSmart Server 48X
device: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
led: 0
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
led: 0
device: /sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
led: 1
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
led: 1
device: /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd
led: 2
ADDED: '/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd' (block)
device: /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdd
led: 2
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0
0 0 1 0 2 0

So it still doesn't use the led_acerh340.h

Thanks, Holger


sparkvolt wrote:
Took a little bit of fiddling with stuff, but I have the addresses for H341.

HDD 1 Red : 0x59
HDD 2 Red : 0x58
HDD 3 Red : 0x4E or 0x56
HDD 4 Red : 0x51

HDD 1 Blue : 0x4B or 0x53
HDD 2 Blue : 0x4C or 0x54
HDD 3 Blue : 0x52
HDD 4 Blue : 0x50

i Red : 0x18
i Blue : 0x0A
Power : 0x1B
USB : 0x12

I plugged them into led_acerh340.h and changed detection to accept DID/VID combo from H341 and all LEDs are working flawlessly on my H341:
Code:
/// mappings for LEDs
        enum {
                OUT_BLUE0               = 0x4b,
                OUT_BLUE1               = 0x4c,
                OUT_BLUE2               = 0x52,
                OUT_BLUE3               = 0x50,

                OUT_RED0                = 0x59,
                OUT_RED1                = 0x58,
                OUT_RED2                = 0x4e,
                OUT_RED3                = 0x51,

                //-
                OUT_USB_DEVICE  = 0x06, ///< bit 6

                OUT_USB_LED             = 0x12,
                OUT_POWER               = 0x1b,
                OUT_SYSTEM_RED       = 0x18,
                OUT_SYSTEM_BLUE      = 0x0A,
        };



Cheers


The DID/VID for H341 is same as HP EX485. The DID/VID is 0x29168086.

Code:
virtual bool chkPciDeviceVendorId_( unsigned int did_vid ) const {
      // ISA bridge [0601]: Intel Corporation 82801IR (ICH9R) LPC Interface Controller [8086:2916] (rev 02)
      return ( 0x29168086 == did_vid );
}

Author:  K. Hendrik [ Thu Feb 14, 2013 5:42 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

sparkvolt thank you for the code. Merelin and I have integrated it into mediasmartserverd and it is now available through his git and ppa.

I also forked his git and added some functionality to the "i" LED. If you run it with the option --update-monitor (-u) the LED will light up
blue if updates are available, purpel if security updates are available and red if a reboot is required (the update rate is currently 15 minutes because i didn't want to check every second for something like this).
This functionality still has to be thoroughly tested though.

If anybody is interested in testing it its available here: https://github.com/kbehren/mediasmartserverd
Bugreports appreciated, preferably directly through github.

EDIT: :!: The update monitor is intended for ubuntu server, it requires update-notifier-common to be installed.

Author:  alexandergeorg [ Sun Mar 03, 2013 1:08 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

Its been a long time since I've been here and I am amazed to see what happened in between here :)

My trusty H340 works very well but in the meantime, I've outgrown it a little bit. Therefore, I bought a new mainboard (a AsRock Z77E-ITX along with a i3-3220T).

A friend from our company's hw-department (who coincidentially :wink: has the same system) created a small replacement PCB which is driven by a coldfire V1. This CPU will take care of the Enabling of the backplane power, the LED and Fan-control. The PCB is connected to the mainboard via USB and all communication is running over a ttyACM device; I'm currently developing the software daemon.

The PCB is shorter than the original one since then I can put an USB 3.0 connector to the front

I will upload the daemon's sources shortly.

Attachments:
File comment: On top the original PCB on the bottom the newly designed PCB
LP_best_2_klein.JPG
LP_best_2_klein.JPG [ 97.81 KiB | Viewed 26569 times ]
File comment: On top the original PCB on the bottom the newly designed PCB
LP_best_1_klein.JPG
LP_best_1_klein.JPG [ 119.38 KiB | Viewed 26569 times ]

Author:  MetalGeek [ Wed Mar 27, 2013 1:05 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

So with this replacement PCB we can replace the existing MB and PCB with the ASRock new PCB? Sweet. :beerme:

Author:  ABATAPA [ Sun Mar 31, 2013 12:09 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

Thank you for your work!
There are a few comments:
- I would like to see the mode in which the disk activity shows no red light, but the flashing blue (i.e., on the reverse - is always switched on, during the work is flashing); all the same, the red light - the symbol of the error;
- it would be a good(?) idea to split the code to the kernel module that performs the basic operation and provides a standard interface in /sys, and user-space utility that controls modes.

Author:  ABATAPA [ Sun Mar 31, 2013 12:27 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

alexandergeorg wrote:
created a small replacement PCB which is driven by a coldfire V1.

You will share the PCB schemes? Sure, many people (and myself) thought about it.

Author:  MetalGeek [ Thu Apr 11, 2013 2:15 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

First off thanks for all the work peeps have done on this program. I have mediasmartserver installed using merelin's ppa on ubuntu 12.04. My server has all 4 drive bays occupied with 1 boot drive and 3 drives in a raid 5. When my system boots, I have no individual drive lights, All I have are the single HD activity light. mediasmartserver is running with the --activity and --update-monitor.
The only way I can get my individual lights to turn on is to use --xmas which gives me purple drive lights but the stay on all the time.
Code:
scott@megalon:~$ sudo mediasmartserverd -v -v  --xmas
--- SystemVendor: "Acer" - ProductName: "Aspire easyStore H340" ---
Recognized SystemVendor: "Acer"
Recognized ProductName: "Aspire easyStore H340"
Found: Acer Aspire easyStore H340
scott@megalon:~$

If I run without the --xmas the lights go out and it just sits there waiting for something, I have to ctrl+c to kill the command. I've tried --activity and --update-monitor. Neither does anything besides --xmas. ](*,)

Author:  merelin [ Thu Apr 11, 2013 2:34 pm ]
Post subject:  Re: Here is a linux driver for the H340 leds

MetalGeek wrote:
First off thanks for all the work peeps have done on this program. I have mediasmartserver installed using merelin's ppa on ubuntu 12.04. My server has all 4 drive bays occupied with 1 boot drive and 3 drives in a raid 5. When my system boots, I have no individual drive lights, All I have are the single HD activity light. mediasmartserver is running with the --activity and --update-monitor.
The only way I can get my individual lights to turn on is to use --xmas which gives me purple drive lights but the stay on all the time.
Code:
scott@megalon:~$ sudo mediasmartserverd -v -v  --xmas
--- SystemVendor: "Acer" - ProductName: "Aspire easyStore H340" ---
Recognized SystemVendor: "Acer"
Recognized ProductName: "Aspire easyStore H340"
Found: Acer Aspire easyStore H340
scott@megalon:~$

If I run without the --xmas the lights go out and it just sits there waiting for something, I have to ctrl+c to kill the command. I've tried --activity and --update-monitor. Neither does anything besides --xmas. ](*,)


Please try mediasmartserver 0.5.5-1ubuntu1~quantal from my PPA and give me your feedback.

Page 7 of 9 All times are UTC - 7 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/