Code Monkey home page Code Monkey logo

Comments (53)

terrycain avatar terrycain commented on June 30, 2024

I had to modify razer_blackwidow_chroma_driver/daemon/fx/Makefile
I had to comment:
ifeq ($(LIBFFTW3), 0) and endif
I don't know why this ifeq doesnt work.

You probably need to install libfftw3 library for Fast Fourier transform. Or if its installed then the issue is that the line below doesnt do its job propperly which is detecting the presence of the library.

LIBFFTW3=$(shell echo \\\#include \<fftw3.h\>\\n int main\(int c,char**v\){} | gcc `pkg-config --libs fftw3` `pkg-config --cflags fftw3`  -xc -o a.out - 2>/dev/null ;echo $$? ;rm a.out 2>/dev/null )

ImportError: No module named 'razer'

You need to move gui/lib/razer into the systems python path (for python3), usually /usr/lib/python3/site-packages or /usr/lib/python3/dist-packages or set by the enviromental variable PYTHONPATH. Look up the correct procedure for your distribution.

ImportError: No module named appindicator

The new app is fully Python3 which might work on your system. Otherwise you'll have to look to installing it.


dynamic:

some rgb arguments are not well parsed ?

Not a clue, I would recommend using the new python dbus combo to set the colours. The new daemon and python gui application will do this though probably not work well with the keymap


Key bindings

Look at scripts/driver/keyboard_keys.py You'll need to edit the 2 lines near the top so it points to the driver files. When its runnning you need to press enter to cycle through the keys. Each key should light up red (sometimes they might not light up as there are gaps).

If you get it working, submit a document with a list of Keys and what row x:x the key matches up to.
Eg

ESC 0:1
...
M1 1:0
` KEY 1:1
...

If you can get that and manage to get the razer chroma gui to work then I can work on creating a keymap for other layouts.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Thank you for your fast answer :)

libfftw3
goldorak chroma_controller # ls /usr/lib64/libfftw3*
/usr/lib64/libfftw3f_mpi.so        /usr/lib64/libfftw3f.so.3.4.4          /usr/lib64/libfftw3l_omp.so.3          /usr/lib64/libfftw3_mpi.so        /usr/lib64/libfftw3.so.3.4.4
/usr/lib64/libfftw3f_mpi.so.3      /usr/lib64/libfftw3f_threads.so        /usr/lib64/libfftw3l_omp.so.3.4.4      /usr/lib64/libfftw3_mpi.so.3      /usr/lib64/libfftw3_threads.so
/usr/lib64/libfftw3f_mpi.so.3.4.4  /usr/lib64/libfftw3f_threads.so.3      /usr/lib64/libfftw3l.so                /usr/lib64/libfftw3_mpi.so.3.4.4  /usr/lib64/libfftw3_threads.so.3
/usr/lib64/libfftw3f_omp.so        /usr/lib64/libfftw3f_threads.so.3.4.4  /usr/lib64/libfftw3l.so.3              /usr/lib64/libfftw3_omp.so        /usr/lib64/libfftw3_threads.so.3.4.4
/usr/lib64/libfftw3f_omp.so.3      /usr/lib64/libfftw3l_mpi.so            /usr/lib64/libfftw3l.so.3.4.4          /usr/lib64/libfftw3_omp.so.3
/usr/lib64/libfftw3f_omp.so.3.4.4  /usr/lib64/libfftw3l_mpi.so.3          /usr/lib64/libfftw3l_threads.so        /usr/lib64/libfftw3_omp.so.3.4.4
/usr/lib64/libfftw3f.so            /usr/lib64/libfftw3l_mpi.so.3.4.4      /usr/lib64/libfftw3l_threads.so.3      /usr/lib64/libfftw3.so
/usr/lib64/libfftw3f.so.3          /usr/lib64/libfftw3l_omp.so            /usr/lib64/libfftw3l_threads.so.3.4.4  /usr/lib64/libfftw3.so.3
goldorak chroma_controller # 
goldorak chroma_controller # echo \\\#include \<fftw3.h\>\\n int main\(int c,char**v\){} | gcc `pkg-config --libs fftw3` `pkg-config --cflags fftw3`  -xc -o a.out - 2>/dev/null ;echo $$? ;rm a.out 2>/dev/null
30943?
ImportError: No module named 'razer'

Ok I copied cp -prf gui/lib/razer /usr/lib/python3.4/site-packages/
But now:

goldorak chroma_controller # LANG=en_US.UTF-8 ./chroma_controller.py
Successfully connected to dbus service.
dirname: missing operand
Try 'dirname --help' for more information.

(acroread:12346): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(acroread:12346): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

This message is relative to acroread (I get the same message when runing acroread alone)
And a blank window "Razer BlackWidow Chrome Configuration" is displaying
but razer_tray_applet.py seems to work :)

Key bindings

Ok, i have check with keyboard_keys.py and its working fine, each key is displayed in the right order.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

libfftw3

OK yeah I suspected that was the issue. Try this line to see if it compiles with libfftw.

LIBFFTW3=$(shell pkg-config --libs fftw3 > /dev/null 2>&1 && echo 0)

ImportError: No module named 'razer

Looks like the library is in the path. I would re-clone the repo I make some big changes recently. It should be installed into /usr/share/razer_chroma_controller/ but should work fine being ran from the repo. I have no clue where the dirname: mising operand is coming from.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Ok I rermoved razer_blackwidow_chroma_driver directory and did a:
git clone --depth=1 https://github.com/pez2001/razer_blackwidow_chroma_driver.git

llibfftw3

looks like

LIBFFTW3=$(shell pkg-config --libs fftw3 > /dev/null 2>&1 && echo 0)

do the job

ImportError: No module named 'razer

the dirname error is an acroread error I think.
when I launch acroread alone, I get:

goldorak chroma_controller # LANG=en_US.UTF-8 acroread
dirname: missing operand
Try 'dirname --help' for more information.

(acroread:30139): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(acroread:30139): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

but it is working (acroread)

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Good good. I used that command to fix some previous bugs but just missed
some evidently.

Acroread?
On 12 Jan 2016 23:51, "Mat9999" [email protected] wrote:

llibfftw3

looks like

LIBFFTW3=$(shell pkg-config --libs fftw3 > /dev/null 2>&1 && echo 0)

do the job
ImportError: No module named 'razer

the dirname error is a acroread error


Reply to this email directly or view it on GitHub
#49 (comment)
.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Yes acroread is launched. The first time I succed to launch chroma_controller.py, an acroread window has been displayed with license acceptation. Did I miss something ? And then, I dont see it anymore, but the chroma_controller window is still opening but it is blank.
pstree outpput if it helps:

       └─yakuake─┬─bash───su───bash───python3───{gdbus}
                  ├─bash───su───bash─┬─pstree
                  │                  └─python3─┬─npviewer.bin───acroread
                  │                            └─9*[{python3}]
                  └─{QProcessManager}

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Hmm acroread shoulnt open I don't think. But the blank issue sounds like
something that happened to @lah7 a while ago. Have you re-cloned the repo
after my pull request got accepted?
On 13 Jan 2016 00:04, "Mat9999" [email protected] wrote:

Yes acroread is launched. The first time I succed to launch
chroma_controller.py, an acroread window has been displayed. And then, I
dont see it anymore, but the chroma_controller window is still opening but
it is blank.


Reply to this email directly or view it on GitHub
#49 (comment)
.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

I just re-clone after your last comment, modified the Makefile, and recompile, and cp gui/lib/razer/ to python path.
now:

goldorak razer_blackwidow_chroma_driver # LANG=en_US.UTF-8 gui/chroma_controller/chroma_controller.py 
Successfully connected to dbus service.
dirname: missing operand
Try 'dirname --help' for more information.

(acroread:11821): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(acroread:11821): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

but still a blank window

EDIT: but good news, I looked @lah7 comment, and try to launch with an absolute path, and it works :)
I dont really like this acroread launch, but it is probably gtk relative ?

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Hmm, I'll look into the non absolute path stuff. Acroread is probably has something to do with either the GTK GUI parts or GTKWebkit. Next week sometime ill create a gentoo VM and investigate. How did oyu go about installing acroread (so I can reproduce this). After some googling it could be the fact that acroread has registered itself as a webkit plugin so therefore wants to load.

I'll patch that LIBFFT line soonish.

So all that's left is looking into is possibly packaging this for gentoo and fixing for the azerty keymap. A picture of the keyboard would also be good as I know some key layouts have different key sizes like the return key is shaped differently.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Have reproduced the white screen. I shall look into this.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Fixed Makefile and white screen issue in latest pull request #50

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

/etc/rc?.d directories are missing in gentoo, I had to temporary create them to avoid error:

goldorak razer_blackwidow_chroma_driver # make install
cp install_files/init.d/razer_bcd /etc/init.d
chown root:root /etc/init.d/razer_bcd
cp install_files/share/bash_keyboard_functions.sh /usr/share/razer_bcd/bash_keyboard_functions.sh
chown root:root /usr/share/razer_bcd/bash_keyboard_functions.sh
ln -fs ../init.d/razer_bcd /etc/rc2.d/S24razer_bcd
ln: failed to create symbolic link ‘/etc/rc2.d/S24razer_bcd’: No such file or directory
Makefile:44: recipe for target 'install' failed
make: *** [install] Error 1

there is /etc/runlevels/ insteed:

goldorak razer_blackwidow_chroma_driver # ls /etc/runlevels/
boot  default  nonetwork  shutdown  single  sysinit
goldorak razer_blackwidow_chroma_driver # ls /etc/runlevels/default/ -la
total 8
drwxr-xr-x 2 root root 4096 19 mars   2013 .
drwxr-xr-x 8 root root 4096  9 mai    2011 ..
lrwxrwxrwx 1 root root   17 30 avril  2010 acpid -> /etc/init.d/acpid
lrwxrwxrwx 1 root root   19  2 mai    2010 amavisd -> /etc/init.d/amavisd
[...]
lrwxrwxrwx 1 root root   15 28 avril  2010 xdm -> /etc/init.d/xdm

I am curently using systemd. systemd scripts installation looks OK
For gentoo packaging,I have never done an ebuild package until now, but maybe I can help.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

azerty layout:
(scripts/driver/keyboard_keys.py is working fine)

1141179_toetsenborden-razer-blackwidow-chroma-gaming-keyboard-azerty-rz03-01220400-r3f1

I notice this, if I modify examples/dota_keys.c like this

[...]
struct razer_rgb light_blue = {.r=0,.g=255,.b=255}; //define a light blue color
struct razer_rgb yellow = {.r=255,.g=255,.b=0};     //define a yellow color
[...]
razer_convert_ascii_to_pos('Y',&pos);
razer_set_key_pos(chroma->keys,&pos,&yellow);

razer_convert_ascii_to_pos('Z',&pos);
razer_set_key_pos(chroma->keys,&pos,&light_blue);
[...]

will set Y light blue, and W yellow
Except this, all of what I have tested is OK.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Cheers for the picture (ill make layouts at some point). As for rc.d that'll only work for systems that use sysvinit. For systemd use the appropriate scripts.

You fancy making a script to package it for gentoo?

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Hello Terrycain,
I am sorry, I will not have the time for working on and maintaining a gentoo package.
I can however regularly manually pull update and inform you if I find some other bug.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Ok no worries. Eventually I might get to making a gentoo package. I am however working on the application having multiple keyboard layouts.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

@Mat9999 Does the chroma_controller app work for you? and if so does the uk layout on the app light up the keys on the keyboard in the same place?

So like Q would light up your A, Z would light up W etc...

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Hi,
Yes it works very well :) I have try each effects, and add two templates Dota and FPS.
The physical keys are lighting up exactly as the diagram show:
Activating Q on the diagram will light up A on the physical azerty keyboard,
W will light up Z and Z will light W
A will light up W, Q will light up A etc...
So an effect template or a profile for QWERTY will fit perfectly on an AZERTY one :)

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Ok, cool thats nice thats what I expected to happen. I am figuring out how to best detect the layout, then I'll get the app to change accordingly. What's your keyboard code called? Like the UK one is en-gb, US is en-us etc...

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

I live in France. I'm not sure AZERTY is only used in France, but in France the standard is AZERTY.
If it can help:
My linux locale is set up to fr_FR.utf8
My X11 settings are "xkb_model" "pc105", "xkb_layout" "fr", "xkb_variant" "latin9"

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Whats the output of setxkbmap -print and setxkbmap -query? and the contents of /etc/default/keyboard
It should just report what you have above, im just trying to think of a nice cross platform way to detect the layout

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024
goldorak ~ # setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(azerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+fr(latin9)+inet(evdev)+terminate(ctrl_alt_bksp)"  };
        xkb_geometry  { include "pc(pc104)"     };
};

no /etc/default/keyboard

goldorak ~ # cat /etc/vconsole.conf 
KEYMAP=fr-latin9

goldorak ~ # cat /etc/conf.d/keymaps 
# Use keymap to specify the default console keymap.  There is a complete tree
# of keymaps in /usr/share/keymaps to choose from.
keymap="fr-latin9"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will
# say "yes" here.  Note that non-x86 users should leave it as "no".
# Loading this keymap will enable VT switching (like ALT+Left/Right)
# using the special windows keys on the linux console.
windowkeys="YES"

# The maps to load for extended keyboards.  Most users will leave this as is.
extended_keymaps=""
#extended_keymaps="backspace keypad euro2"

# Tell dumpkeys(1) to interpret character action codes to be
# from the specified character set.
# This only matters if you set unicode="yes" in /etc/rc.conf.
# For a list of valid sets, run `dumpkeys --help`
dumpkeys_charset=""

# Some fonts map AltGr-E to the currency symbol instead of the Euro.
# To fix this, set to "yes"
fix_euro="NO"

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

setxkbmap -query?

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

It gives me information about model: logitech_base....It should be my mouse, or my previous config before I replace my old illuminated logitech keyboard with this fresh new chroma razer ?

goldorak razer_blackwidow_chroma_driver # setxkbmap -query
rules:      evdev
model:      logitech_base
layout:     fr
variant:    latin9
options:    terminate:ctrl_alt_bksp

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Cool. Need to make the keyboard layout detection a bit more robust but in theory it should work. Ill make a layout in the SVG and upload it later tonight.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Ok,
i just pull last commit, compilation is fine, module is loaded, but new systemd unit failed to launch:

goldorak razer_blackwidow_chroma_driver # systemctl daemon-reload
goldorak razer_blackwidow_chroma_driver # systemctl restart razer_bcd
goldorak razer_blackwidow_chroma_driver # systemctl status razer_bcd
● razer_bcd.service - Razer Keyboard Daemon
   Loaded: loaded (/usr/lib64/systemd/system/razer_bcd.service; enabled; vendor preset: enabled)
   Active: failed (Result: signal) since ven. 2016-01-15 18:21:54 CET; 3s ago
  Process: 6298 ExecStopPost=/usr/share/razer_bcd/systemd_helpers.sh unbind (code=exited, status=0/SUCCESS)
  Process: 6293 ExecStart=/usr/sbin/razer_bcd --pid-file /var/run/razer_bcd.pid (code=exited, status=0/SUCCESS)
  Process: 6260 ExecStartPre=/usr/share/razer_bcd/systemd_helpers.sh bind (code=exited, status=0/SUCCESS)
 Main PID: 6296 (code=killed, signal=SEGV)

janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6260]: Unbinding device (0003:1532:0203.0003) from hid-generic
janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6260]: Binding device (0003:1532:0203.0003) to razerkbd
janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6260]: Bind Successful
janv. 15 18:21:54 goldorak.actarus razer_bcd[6293]: Starting razer blackwidow chroma daemon as a daemon
janv. 15 18:21:54 goldorak.actarus systemd[1]: razer_bcd.service: main process exited, code=killed, status=11/SEGV
janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6298]: Unbinding device (0003:1532:0203.0003) from razerkbd
janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6298]: Binding device (0003:1532:0203.0003) to hid-generic
janv. 15 18:21:54 goldorak.actarus systemd[1]: Unit razer_bcd.service entered failed state.
janv. 15 18:21:54 goldorak.actarus systemd[1]: razer_bcd.service failed.
janv. 15 18:21:54 goldorak.actarus systemd_helpers.sh[6298]: Bind Successful

I think the culprit is /usr/sbin/razer_bcd
when I replace new version of /usr/sbin/razer_bcd with old (from 13january), all is working again

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

That would be the settings daemon.

If you go to the Wiki and bind the driver manually. Then run strace /usr/sbin/razer_bcd

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024
goldorak ~ # strace /usr/sbin/razer_bcd
execve("/usr/sbin/razer_bcd", ["/usr/sbin/razer_bcd"], [/* 80 vars */]) = 0
brk(0)                                  = 0x10ea000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56750000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=329078, ...}) = 0
mmap(NULL, 329078, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1e566ff000
close(3)                                = 0
open("/lib64/librazer_chroma.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0' \232?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=44928, ...}) = 0
mmap(0x3f9a200000, 2138696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9a200000
mprotect(0x3f9a20a000, 2093056, PROT_NONE) = 0
mmap(0x3f9a409000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x3f9a409000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 U`\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1053168, ...}) = 0
mmap(0x3f99600000, 3146072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99600000
mprotect(0x3f99700000, 2093056, PROT_NONE) = 0
mmap(0x3f998ff000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xff000) = 0x3f998ff000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566fe000
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\16\340\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=16768, ...}) = 0
mmap(0x3f99e00000, 2109712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99e00000
mprotect(0x3f99e02000, 2097152, PROT_NONE) = 0
mmap(0x3f9a002000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x3f9a002000
close(3)                                = 0
open("/usr/lib64/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\347`\244?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=282768, ...}) = 0
mmap(0x3fa4600000, 2375928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fa4600000
mprotect(0x3fa4643000, 2093056, PROT_NONE) = 0
mmap(0x3fa4842000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42000) = 0x3fa4842000
mmap(0x3fa4844000, 248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3fa4844000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\t\"\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1661288, ...}) = 0
mmap(0x3f99200000, 3762584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99200000
mprotect(0x3f9938e000, 2093056, PROT_NONE) = 0
mmap(0x3f9958d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0x3f9958d000
mmap(0x3f99593000, 14744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f99593000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 q\240\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=133160, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566fd000
mmap(0x3f99a00000, 2208976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99a00000
mprotect(0x3f99a16000, 2097152, PROT_NONE) = 0
mmap(0x3f99c16000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x3f99c16000
mmap(0x3f99c18000, 13520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f99c18000
close(3)                                = 0
open("/usr/lib64/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\340\237?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=189416, ...}) = 0
mmap(0x3f9fe00000, 190672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9fe00000
mmap(0x3f9fe2d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x3f9fe2d000
close(3)                                = 0
open("/lib64/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\32 \237?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=25248, ...}) = 0
mmap(0x3f9f200000, 2118256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9f200000
mprotect(0x3f9f204000, 2097152, PROT_NONE) = 0
mmap(0x3f9f404000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x3f9f404000
close(3)                                = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240!`\232?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=29992, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566fc000
mmap(0x3f9a600000, 2124768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9a600000
mprotect(0x3f9a606000, 2093056, PROT_NONE) = 0
mmap(0x3f9a805000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x3f9a805000
close(3)                                = 0
open("/lib64/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`1 \235?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=156504, ...}) = 0
mmap(0x3f9d200000, 2249360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9d200000
mprotect(0x3f9d224000, 2097152, PROT_NONE) = 0
mmap(0x3f9d424000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x3f9d424000
close(3)                                = 0
open("/usr/lib64/liblz4.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\24\0\240?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=32816, ...}) = 0
mmap(0x3fa0000000, 2125992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fa0000000
mprotect(0x3fa0007000, 2093056, PROT_NONE) = 0
mmap(0x3fa0206000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x3fa0206000
close(3)                                = 0
open("/lib64/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3409 \234?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=87024, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566fb000
mmap(0x3f9c200000, 2189928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9c200000
mprotect(0x3f9c213000, 2097152, PROT_NONE) = 0
mmap(0x3f9c413000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x3f9c413000
mmap(0x3f9c415000, 6760, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f9c415000
close(3)                                = 0
open("/lib64/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\24\240\236?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=20864, ...}) = 0
mmap(0x3f9ea00000, 2113912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9ea00000
mprotect(0x3f9ea04000, 2093056, PROT_NONE) = 0
mmap(0x3f9ec03000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x3f9ec03000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566fa000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566f9000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e566f7000
arch_prctl(ARCH_SET_FS, 0x7f1e566f7740) = 0
mprotect(0x3f9958d000, 16384, PROT_READ) = 0
mprotect(0x3f9ec03000, 4096, PROT_READ) = 0
mprotect(0x3f9c413000, 4096, PROT_READ) = 0
mprotect(0x3fa0206000, 4096, PROT_READ) = 0
mprotect(0x3f99c16000, 4096, PROT_READ) = 0
mprotect(0x3f9d424000, 4096, PROT_READ) = 0
mprotect(0x3f9a805000, 4096, PROT_READ) = 0
mprotect(0x3f9f404000, 4096, PROT_READ) = 0
mprotect(0x3f9fe2d000, 4096, PROT_READ) = 0
mprotect(0x3fa4842000, 4096, PROT_READ) = 0
mprotect(0x3f9a002000, 4096, PROT_READ) = 0
mprotect(0x3f998ff000, 4096, PROT_READ) = 0
mprotect(0x3f9a409000, 4096, PROT_READ) = 0
mprotect(0x60e000, 4096, PROT_READ)     = 0
mprotect(0x3f99020000, 4096, PROT_READ) = 0
munmap(0x7f1e566ff000, 329078)          = 0
set_tid_address(0x7f1e566f7a10)         = 12059
set_robust_list(0x7f1e566f7a20, 24)     = 0
rt_sigaction(SIGRTMIN, {0x3f99a06bf0, [], SA_RESTORER|SA_SIGINFO, 0x3f99a10410}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x3f99a06c80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3f99a10410}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e5674f000
write(1, "Starting razer blackwidow chroma"..., 52Starting razer blackwidow chroma daemon as a daemon
) = 52
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1e566f7a10) = 12060
exit_group(0)                           = ?
+++ exited with 0 +++
goldorak ~ # 

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

ldd /usr/sbin/razer_bcd

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024
goldorak ~ # ldd /usr/sbin/razer_bcd
        linux-vdso.so.1 (0x00007ffc907e1000)
        librazer_chroma.so => /lib64/librazer_chroma.so (0x0000003f9a200000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003f99600000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003f99e00000)
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x0000003fa4600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003f99200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f98e00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f99a00000)
        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x0000003f9fe00000)
        libcap.so.2 => /lib64/libcap.so.2 (0x0000003f9f200000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003f9a600000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x0000003f9d200000)
        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x0000003fa0000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003f9c200000)
        libattr.so.1 => /lib64/libattr.so.1 (0x0000003f9ea00000)
goldorak ~ # 

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Not sure about the bugs above (ill look into that another time), but on the other hand there is this ;)
image

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

nice :)

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

some cosmetic:
razer

from razer_chroma_drivers.

pez2001 avatar pez2001 commented on June 30, 2024

gdb output would really help here. if possible try running sudo gdb --args
daemon/razer_bcd_debug_static -f
after the crash enter the 'bt' command hit enter and copy the output.
bg

2016-01-15 20:59 GMT+01:00 Mat9999 [email protected]:

goldorak ~ # ldd /usr/sbin/razer_bcd
linux-vdso.so.1 (0x00007ffc907e1000)
librazer_chroma.so => /lib64/librazer_chroma.so (0x0000003f9a200000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f99600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f99e00000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x0000003fa4600000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f99200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f98e00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f99a00000)
libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x0000003f9fe00000)
libcap.so.2 => /lib64/libcap.so.2 (0x0000003f9f200000)
librt.so.1 => /lib64/librt.so.1 (0x0000003f9a600000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x0000003f9d200000)
liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x0000003fa0000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003f9c200000)
libattr.so.1 => /lib64/libattr.so.1 (0x0000003f9ea00000)
goldorak ~ #


Reply to this email directly or view it on GitHub
#49 (comment)
.

The NSA verified this email and as such it is regarded to be spam and virus
free

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

:) A looooong time ago since the last time I used gdb :)
here's output:

goldorak daemon # pwd
/root/razer_blackwidow_chroma_driver/daemon
goldorak daemon # gdb --args ./razer_bcd_debug_static -f
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./razer_bcd_debug_static...done.
(gdb) run
Starting program: /root/razer_blackwidow_chroma_driver/daemon/razer_bcd_debug_static -f
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Starting razer blackwidow chroma daemon in the foreground
opening chroma lib
No chroma devices found![Inferior 1 (process 21243) exited with code 01]
(gdb) bt
No stack.
(gdb) 

from razer_chroma_drivers.

pez2001 avatar pez2001 commented on June 30, 2024

sorry , i was sure i saw a crash in your output, i was wrong.
is the driver bound to the devices you are using ?

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

I think there is a segmentation fault, but I dont understand how to reproduce it with debug exec

goldorak razer_blackwidow_chroma_driver # make uninstall
make -C lib uninstall
[...]
rm /etc/rc0.d/K02razer_bcd
rm /etc/rc1.d/K02razer_bcd
rm /etc/rc6.d/K02razer_bcd
rm /etc/dbus-1/system.d/org.voyagerproject.razer.daemon.conf
rm /usr/sbin/razer_blackwidow_chroma_activate_driver.sh
rm: impossible de supprimer « /usr/sbin/razer_blackwidow_chroma_activate_driver.sh »: Aucun fichier ou dossier de ce type
Makefile:76 : la recette pour la cible « uninstall » a échouée
make: *** [uninstall] Erreur 1
goldorak razer_blackwidow_chroma_driver # make clean
make -C lib clean 
[...]
make[1] : on quitte le répertoire « /root/razer_blackwidow_chroma_driver/examples »
make -C /lib/modules/4.1.12-gentoo/build SUBDIRS=/root/razer_blackwidow_chroma_driver/driver clean > /dev/null 2>&1
#added redirect to remove output of a useless makefile warning
goldorak razer_blackwidow_chroma_driver # make all
make -C lib all
make[1] : on entre dans le répertoire « /root/razer_blackwidow_chroma_driver/lib »
[...]
========================================
make -C /lib/modules/4.1.12-gentoo/build SUBDIRS=/root/razer_blackwidow_chroma_driver/driver modules > /dev/null 2>&1
goldorak razer_blackwidow_chroma_driver # 
goldorak razer_blackwidow_chroma_driver # make install
make -C lib all
make[1] : on entre dans le répertoire « /root/razer_blackwidow_chroma_driver/lib »
ar -c -rs librazer_chroma.a razer_chroma.o list.o razer_string.o
[...]
ln -fs ../init.d/razer_bcd /etc/rc1.d/K02razer_bcd
ln -fs ../init.d/razer_bcd /etc/rc6.d/K02razer_bcd
goldorak razer_blackwidow_chroma_driver # modprobe razerkbd
goldorak razer_blackwidow_chroma_driver # lsmod | grep razer
razerkbd                9372  0
goldorak razer_blackwidow_chroma_driver # systemctl start razer_bcd
goldorak razer_blackwidow_chroma_driver # systemctl status razer_bcd
● razer_bcd.service - Razer Keyboard Daemon
   Loaded: loaded (/usr/lib64/systemd/system/razer_bcd.service; enabled; vendor preset: enabled)
   Active: failed (Result: signal) since sam. 2016-01-16 08:45:22 CET; 17s ago
  Process: 30494 ExecStopPost=/usr/share/razer_bcd/systemd_helpers.sh unbind (code=exited, status=0/SUCCESS)
  Process: 30488 ExecStart=/usr/sbin/razer_bcd --pid-file /var/run/razer_bcd.pid (code=exited, status=0/SUCCESS)
  Process: 30459 ExecStartPre=/usr/share/razer_bcd/systemd_helpers.sh bind (code=exited, status=0/SUCCESS)
 Main PID: 30489 (code=killed, signal=SEGV)

janv. 16 08:45:22 goldorak.actarus systemd_helpers.sh[30459]: Device already binded
janv. 16 08:45:22 goldorak.actarus razer_bcd[30488]: Starting razer blackwidow chroma daemon as a daemon
janv. 16 08:45:22 goldorak.actarus systemd[1]: razer_bcd.service: main process exited, code=killed, status=11/SEGV
janv. 16 08:45:22 goldorak.actarus systemd_helpers.sh[30494]: Unbinding device (0003:1532:0203.0003) from razerkbd
janv. 16 08:45:22 goldorak.actarus systemd_helpers.sh[30494]: Binding device (0003:1532:0203.0003) to hid-generic
janv. 16 08:45:22 goldorak.actarus systemd_helpers.sh[30494]: Bind Successful
janv. 16 08:45:22 goldorak.actarus systemd[1]: Unit razer_bcd.service entered failed state.
janv. 16 08:45:22 goldorak.actarus systemd[1]: razer_bcd.service failed.
goldorak razer_blackwidow_chroma_driver # 
goldorak razer_blackwidow_chroma_driver # LANG=en_US.UTF-8 gdb --args ./daemon/razer_bcd_debug_static -f
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./daemon/razer_bcd_debug_static...done.
(gdb) run
Starting program: /root/razer_blackwidow_chroma_driver/daemon/razer_bcd_debug_static -f
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Starting razer blackwidow chroma daemon in the foreground
opening chroma lib
No chroma devices found![Inferior 1 (process 30929) exited with code 01]
(gdb) 
gdb) bt
No stack.
(gdb) quit
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd -f
Starting razer blackwidow chroma daemon in the foreground
razer_bcd: error initializing daemon
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd_debug_static -f
Starting razer blackwidow chroma daemon in the foreground
opening chroma lib
No chroma devices found!

goldorak razer_blackwidow_chroma_driver # strace ./daemon/razer_bcd -f

```xecve("./daemon/razer_bcd", ["./daemon/razer_bcd", "-f"], [/* 80 vars */]) = 0
brk(0)                                  = 0x22d8000
[...]
openat(AT_FDCWD, "/sys/bus/hid/devices/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 21 entries */, 32768)    = 808
open("/sys/bus/hid/devices/0003:1532:0203.0001/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
open("/sys/bus/hid/devices/0003:1532:0203.0002/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
open("/sys/bus/hid/devices/0003:1532:0203.0003/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
write(1, "razer_bcd: error initializing da"..., 37razer_bcd: error initializing daemon
) = 37
exit_group(1)                           = ?
+++ exited with 1 +++
goldorak razer_blackwidow_chroma_driver # 

Here, I think:

open("/sys/bus/hid/devices/0003:1532:0203.0001/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
open("/sys/bus/hid/devices/0003:1532:0203.0002/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
open("/sys/bus/hid/devices/0003:1532:0203.0003/mode_custom", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)

I have seen this some times ago, as root, I can't write in /sys/. Maybe kernel setup on my system doesn't allow to write in /sys ?

goldorak razer_blackwidow_chroma_driver #  LANG=en_US.UTF-8 ls /sys/bus/hid/devices/0003:1532:0203.0001/mode_custom
ls: cannot access /sys/bus/hid/devices/0003:1532:0203.0001/mode_custom: No such file or directory
goldorak razer_blackwidow_chroma_driver #  LANG=en_US.UTF-8 echo 1 > /sys/bus/hid/devices/0003:1532:0203.0001/mode_custom
-su: /sys/bus/hid/devices/0003:1532:0203.0001/mode_custom: Permission denied
goldorak razer_blackwidow_chroma_driver # 

Ok, I go to sys:

goldorak razer_blackwidow_chroma_driver # cd /sys/bus/hid/drivers/hid-generic
goldorak hid-generic # ls -l
total 0
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1038:1361.0012 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.1/1-10.2.4.1:1.0/0003:1038:1361.0012
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1038:1361.0013 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.1/1-10.2.4.1:1.1/0003:1038:1361.0013
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0025.0010 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.3/1-10.2.4.3:1.0/0003:1532:0025.0010
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0025.0011 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.3/1-10.2.4.3:1.1/0003:1532:0025.0011
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0033.000D -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.4/1-10.2.4.4:1.0/0003:1532:0033.000D
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0033.000E -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.4/1-10.2.4.4:1.1/0003:1532:0033.000E
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0033.000F -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2.4/1-10.2.4.4/1-10.2.4.4:1.2/0003:1532:0033.000F
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0203.0001 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0/0003:1532:0203.0001
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0203.0002 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.1/0003:1532:0203.0002
lrwxrwxrwx 1 root root    0 16 janv. 09:40 0003:1532:0203.0003 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.2/0003:1532:0203.0003
--w------- 1 root root 4096 16 janv. 09:05 bind
--w------- 1 root root 4096 16 janv. 09:40 new_id
--w------- 1 root root 4096 16 janv. 09:40 uevent
--w------- 1 root root 4096 16 janv. 08:54 unbind
goldorak hid-generic # LANG=en_US.UTF-8 cat bind
cat: bind: Permission denied
goldorak hid-generic # chmod 600 bind 
goldorak hid-generic # LANG=en_US.UTF-8 cat bind
cat: bind: Input/output error
goldorak hid-generic # chmod 200 bind 

can't play with /sys/bus/hid/drivers/hid-generic/bind

goldorak hid-generic # udevadm info /sys/bus/hid/devices/0003:1532:0203.0001
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0/0003:1532:0203.0001
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0/0003:1532:0203.0001
E: DRIVER=hid-generic
E: HID_ID=0003:00001532:00000203
I dont see 
E: HID_NAME=Razer Razer BlackWidow Chroma
E: HID_PHYS=usb-0000:00:14.0-10.3/input0
E: MODALIAS=hid:b0003g0001v00001532p00000203
E: SUBSYSTEM=hid
E: USEC_INITIALIZED=779322
E: is_razer_kbd=yes

goldorak hid-generic # udevadm info /sys/bus/hid/devices/0003:1532:0203.0002
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.1/0003:1532:0203.0002
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.1/0003:1532:0203.0002
E: DRIVER=hid-generic
E: HID_ID=0003:00001532:00000203
E: HID_NAME=Razer Razer BlackWidow Chroma
E: HID_PHYS=usb-0000:00:14.0-10.3/input1
E: MODALIAS=hid:b0003g0001v00001532p00000203
E: SUBSYSTEM=hid
E: USEC_INITIALIZED=830822
E: is_razer_kbd=yes

goldorak hid-generic # udevadm info /sys/bus/hid/devices/0003:1532:0203.0003
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.2/0003:1532:0203.0003
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.2/0003:1532:0203.0003
E: DRIVER=hid-generic
E: HID_ID=0003:00001532:00000203
E: HID_NAME=Razer Razer BlackWidow Chroma
E: HID_PHYS=usb-0000:00:14.0-10.3/input2
E: MODALIAS=hid:b0003g0001v00001532p00000203
E: SUBSYSTEM=hid
E: USEC_INITIALIZED=882768
E: is_razer_kbd=yes

I dont see ID_USB_INTERFACE_NUM ?

goldorak hid-generic # cd /root/razer_blackwidow_chroma_driver
goldorak razer_blackwidow_chroma_driver # cp ../razer_blackwidow_chroma_driver.ok/daemon/razer_bcd /usr/sbin/razer_bcd
cp : voulez-vous écraser « /usr/sbin/razer_bcd » ? y
goldorak razer_blackwidow_chroma_driver # systemctl start razer_bcd
goldorak razer_blackwidow_chroma_driver # systemctl status razer_bcd
● razer_bcd.service - Razer Keyboard Daemon
   Loaded: loaded (/usr/lib64/systemd/system/razer_bcd.service; enabled; vendor preset: enabled)
   Active: active (running) since sam. 2016-01-16 08:54:41 CET; 17s ago
  Process: 30494 ExecStopPost=/usr/share/razer_bcd/systemd_helpers.sh unbind (code=exited, status=0/SUCCESS)
  Process: 2066 ExecStart=/usr/sbin/razer_bcd --pid-file /var/run/razer_bcd.pid (code=exited, status=0/SUCCESS)
  Process: 2029 ExecStartPre=/usr/share/razer_bcd/systemd_helpers.sh bind (code=exited, status=0/SUCCESS)
 Main PID: 2068 (razer_bcd)
   CGroup: /system.slice/razer_bcd.service
           └─2068 /usr/sbin/razer_bcd --pid-file /var/run/razer_bcd.pid

janv. 16 08:54:41 goldorak.actarus systemd_helpers.sh[2029]: Unbinding device (0003:1532:0203.0003) from hid-generic
janv. 16 08:54:41 goldorak.actarus systemd_helpers.sh[2029]: Binding device (0003:1532:0203.0003) to razerkbd
janv. 16 08:54:41 goldorak.actarus systemd_helpers.sh[2029]: Bind Successful
janv. 16 08:54:41 goldorak.actarus razer_bcd[2066]: Starting razer blackwidow chroma daemon as a daemon

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Could be my udev script acting up, looks like some systems might not have interface num provided by udev, but they should. And the pre-start scripts in systemd should unsure the driver is binded.

What does ls /sys/bus/hid/drivers/razerkbd/ give you?
Also to write in /sys you need to be root so running the daemon as a standard user would always result in errors.

Rerun this ./daemon/razer_bcd_debug_static -f as root (with the driver mounted)

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

OK, some new tests:

goldorak razer_blackwidow_chroma_driver # ls /sys/bus/hid/drivers/razerkbd/ -la
total 0
drwxr-xr-x  2 root root    0 16 janv. 12:13 .
drwxr-xr-x 20 root root    0 16 janv. 08:44 ..
--w-------  1 root root 4096 16 janv. 12:13 bind
lrwxrwxrwx  1 root root    0 16 janv. 09:39 module -> ../../../../module/razerkbd
--w-------  1 root root 4096 16 janv. 12:10 new_id
--w-------  1 root root 4096 16 janv. 12:10 uevent
--w-------  1 root root 4096 16 janv. 12:13 unbind
goldorak razer_blackwidow_chroma_driver # ./install_files/share/systemd_helpers.sh bind
Unbinding device (0003:1532:0203.0003) from hid-generic
Binding device (0003:1532:0203.0003) to razerkbd
Bind Successful
goldorak razer_blackwidow_chroma_driver # ls /sys/bus/hid/drivers/razerkbd/ -la
total 0
drwxr-xr-x  2 root root    0 16 janv. 12:18 .
drwxr-xr-x 20 root root    0 16 janv. 08:44 ..
lrwxrwxrwx  1 root root    0 16 janv. 12:18 0003:1532:0203.0003 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.2/0003:1532:0203.0003
--w-------  1 root root 4096 16 janv. 12:18 bind
lrwxrwxrwx  1 root root    0 16 janv. 09:39 module -> ../../../../module/razerkbd
--w-------  1 root root 4096 16 janv. 12:10 new_id
--w-------  1 root root 4096 16 janv. 12:10 uevent
--w-------  1 root root 4096 16 janv. 12:18 unbind
goldorak razer_blackwidow_chroma_driver # ls /sys/bus/hid/drivers/razerkbd/0003\:1532\:0203.0003/ -la
total 0
drwxr-xr-x 5 root root    0 16 janv. 12:18 .
drwxr-xr-x 5 root root    0 16 janv. 11:54 ..
-r--r--r-- 1 root root 4096 16 janv. 12:54 country
-rw-rw-r-- 1 root root 4096 16 janv. 12:20 device_type
lrwxrwxrwx 1 root root    0 16 janv. 12:18 driver -> ../../../../../../../../bus/hid/drivers/razerkbd
drwxr-xr-x 3 root root    0 16 janv. 12:18 hidraw
drwxr-xr-x 3 root root    0 16 janv. 12:18 input
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 macro_keys
-r--r--r-- 1 root root 4096 16 janv. 11:54 modalias
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_breath
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_custom
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_game
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_none
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_reactive
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_spectrum
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_static
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 mode_wave
drwxr-xr-x 2 root root    0 16 janv. 11:54 power
-r--r--r-- 1 root root 4096 16 janv. 12:54 report_descriptor
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 reset
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 set_brightness
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 set_key_row
lrwxrwxrwx 1 root root    0 15 janv. 17:45 subsystem -> ../../../../../../../../bus/hid
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 temp_clear_row
-rw-rw-r-- 1 root root 4096 16 janv. 12:54 test
-rw-r--r-- 1 root root 4096 16 janv. 11:54 uevent
goldorak razer_blackwidow_chroma_driver # 

I can now do as root

echo 1 > /sys/bus/hid/drivers/razerkbd/0003\:1532\:0203.0003/mode_custom
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd --pid-file /var/run/razer_bcd.pid
Starting razer blackwidow chroma daemon as a daemon

kernel.log:

2016/01/16 12:19:53 kernel          Jan 16 12:19:53 goldorak kernel: traps: razer_bcd[2700] general protection ip:3f9a205514 sp:7ffd4e8c7d80 error:0 in librazer_chroma.so[3f9a200000+a000]
goldorak razer_blackwidow_chroma_driver # ps auxww|grep razer
root      3668  0.0  0.0 112608  2204 pts/0    S+   12:22   0:00 grep --color=auto razer
goldorak razer_blackwidow_chroma_driver # 
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd_debug_shared --pid-file /var/run/razer_bcd.pid
./daemon/razer_bcd_debug_shared: error while loading shared libraries: librazer_chroma_debug.so: cannot open shared object file: No such file or directory
goldorak razer_blackwidow_chroma_driver # cp lib/librazer_chroma_debug.so /lib64/
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd_debug_shared --pid-file /var/run/razer_bcd.pid
Starting razer blackwidow chroma daemon as a daemon
killing razer_bcd parent process
goldorak razer_blackwidow_chroma_driver # ps auxww|grep razer
root      6027  0.6  0.0  36548  2528 ?        Ss   12:27   0:00 ./daemon/razer_bcd_debug_shared --pid-file /var/run/razer_bcd.pid

this last previous command works,

goldorak razer_blackwidow_chroma_driver # kill -9 6027
oldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd_debug_static --pid-file /var/run/razer_bcd.pid
Starting razer blackwidow chroma daemon as a daemon
killing razer_bcd parent process
goldorak razer_blackwidow_chroma_driver # ps auxww| grep razer
root      6796  0.5  0.0  34480  2496 ?        Ss   12:29   0:00 ./daemon/razer_bcd_debug_static --pid-file /var/run/razer_bcd.pid
root      6817  0.0  0.0 112608  2252 pts/0    S+   12:29   0:00 grep --color=auto razer

this too. And now:

goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd --pid-file /var/run/razer_bcd.pid
Starting razer blackwidow chroma daemon as a daemon

----kernel.log:

2016/01/16 12:30:38 messages        Jan 16 12:30:38 goldorak kernel: traps: razer_bcd[7247] general protection ip:3f9a205514 sp:7ffcdf171490 error:0 in librazer_chroma.so[3f9a200000+a000]
2016/01/16 12:30:38 kernel          Jan 16 12:30:38 goldorak kernel: traps: razer_bcd[7247] general protection ip:3f9a205514 sp:7ffcdf171490 error:0 in librazer_chroma.so[3f9a200000+a000]
goldorak razer_blackwidow_chroma_driver # ps auxww| grep razer
root      7633  0.0  0.0 112608  2252 pts/0    S+   12:31   0:00 grep --color=auto razer

strace:

goldorak razer_blackwidow_chroma_driver # strace ./daemon/razer_bcd --pid-file /var/run/razer_bcd.pid
execve("./daemon/razer_bcd", ["./daemon/razer_bcd", "--pid-file", "/var/run/razer_bcd.pid"], [/* 80 vars */]) = 0
brk(0)                                  = 0xe48000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b0324000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=329568, ...}) = 0
mmap(NULL, 329568, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa6b02d3000
close(3)                                = 0
open("/lib64/librazer_chroma.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0' \232?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=44928, ...}) = 0
mmap(0x3f9a200000, 2138696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9a200000
mprotect(0x3f9a20a000, 2093056, PROT_NONE) = 0
mmap(0x3f9a409000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x3f9a409000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 U`\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1053168, ...}) = 0
mmap(0x3f99600000, 3146072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99600000
mprotect(0x3f99700000, 2093056, PROT_NONE) = 0
mmap(0x3f998ff000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xff000) = 0x3f998ff000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02d2000
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\16\340\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=16768, ...}) = 0
mmap(0x3f99e00000, 2109712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99e00000
mprotect(0x3f99e02000, 2097152, PROT_NONE) = 0
mmap(0x3f9a002000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x3f9a002000
close(3)                                = 0
open("/usr/lib64/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\347`\244?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=282768, ...}) = 0
mmap(0x3fa4600000, 2375928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fa4600000
mprotect(0x3fa4643000, 2093056, PROT_NONE) = 0
mmap(0x3fa4842000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42000) = 0x3fa4842000
mmap(0x3fa4844000, 248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3fa4844000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\t\"\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1661288, ...}) = 0
mmap(0x3f99200000, 3762584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99200000
mprotect(0x3f9938e000, 2093056, PROT_NONE) = 0
mmap(0x3f9958d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0x3f9958d000
mmap(0x3f99593000, 14744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f99593000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 q\240\231?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=133160, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02d1000
mmap(0x3f99a00000, 2208976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f99a00000
mprotect(0x3f99a16000, 2097152, PROT_NONE) = 0
mmap(0x3f99c16000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x3f99c16000
mmap(0x3f99c18000, 13520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f99c18000
close(3)                                = 0
open("/usr/lib64/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\340\237?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=189416, ...}) = 0
mmap(0x3f9fe00000, 190672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9fe00000
mmap(0x3f9fe2d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x3f9fe2d000
close(3)                                = 0
open("/lib64/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\32 \237?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=25248, ...}) = 0
mmap(0x3f9f200000, 2118256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9f200000
mprotect(0x3f9f204000, 2097152, PROT_NONE) = 0
mmap(0x3f9f404000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x3f9f404000
close(3)                                = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240!`\232?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=29992, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02d0000
mmap(0x3f9a600000, 2124768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9a600000
mprotect(0x3f9a606000, 2093056, PROT_NONE) = 0
mmap(0x3f9a805000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x3f9a805000
close(3)                                = 0
open("/lib64/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`1 \235?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=156504, ...}) = 0
mmap(0x3f9d200000, 2249360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9d200000
mprotect(0x3f9d224000, 2097152, PROT_NONE) = 0
mmap(0x3f9d424000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x3f9d424000
close(3)                                = 0
open("/usr/lib64/liblz4.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\24\0\240?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=32816, ...}) = 0
mmap(0x3fa0000000, 2125992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fa0000000
mprotect(0x3fa0007000, 2093056, PROT_NONE) = 0
mmap(0x3fa0206000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x3fa0206000
close(3)                                = 0
open("/lib64/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3409 \234?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=87024, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02cf000
mmap(0x3f9c200000, 2189928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9c200000
mprotect(0x3f9c213000, 2097152, PROT_NONE) = 0
mmap(0x3f9c413000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x3f9c413000
mmap(0x3f9c415000, 6760, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f9c415000
close(3)                                = 0
open("/lib64/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\24\240\236?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=20864, ...}) = 0
mmap(0x3f9ea00000, 2113912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f9ea00000
mprotect(0x3f9ea04000, 2093056, PROT_NONE) = 0
mmap(0x3f9ec03000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x3f9ec03000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02ce000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02cd000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b02cb000
arch_prctl(ARCH_SET_FS, 0x7fa6b02cb740) = 0
mprotect(0x3f9958d000, 16384, PROT_READ) = 0
mprotect(0x3f9ec03000, 4096, PROT_READ) = 0
mprotect(0x3f9c413000, 4096, PROT_READ) = 0
mprotect(0x3fa0206000, 4096, PROT_READ) = 0
mprotect(0x3f99c16000, 4096, PROT_READ) = 0
mprotect(0x3f9d424000, 4096, PROT_READ) = 0
mprotect(0x3f9a805000, 4096, PROT_READ) = 0
mprotect(0x3f9f404000, 4096, PROT_READ) = 0
mprotect(0x3f9fe2d000, 4096, PROT_READ) = 0
mprotect(0x3fa4842000, 4096, PROT_READ) = 0
mprotect(0x3f9a002000, 4096, PROT_READ) = 0
mprotect(0x3f998ff000, 4096, PROT_READ) = 0
mprotect(0x3f9a409000, 4096, PROT_READ) = 0
mprotect(0x60e000, 4096, PROT_READ)     = 0
mprotect(0x3f99020000, 4096, PROT_READ) = 0
munmap(0x7fa6b02d3000, 329568)          = 0
set_tid_address(0x7fa6b02cba10)         = 11690
set_robust_list(0x7fa6b02cba20, 24)     = 0
rt_sigaction(SIGRTMIN, {0x3f99a06bf0, [], SA_RESTORER|SA_SIGINFO, 0x3f99a10410}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x3f99a06c80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3f99a10410}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0)                                  = 0xe48000
brk(0xe69000)                           = 0xe69000
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa6b0323000
write(1, "Starting razer blackwidow chroma"..., 52Starting razer blackwidow chroma daemon as a daemon
) = 52
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fa6b02cba10) = 11691
exit_group(0)                           = ?
+++ exited with 0 +++
goldorak razer_blackwidow_chroma_driver # 

---kernel.log

2016/01/16 12:43:51 messages        Jan 16 12:43:51 goldorak kernel: traps: razer_bcd[13276] general protection ip:3f9a205514 sp:7ffc1f97ccc0 error:0 in librazer_chroma.so[3f9a200000+a000]
2016/01/16 12:43:51 kernel          Jan 16 12:43:51 goldorak kernel: traps: razer_bcd[13276] general protection ip:3f9a205514 sp:7ffc1f97ccc0 error:0 in librazer_chroma.so[3f9a200000+a000]

To summarize, I can launch succesfully razer_bcd_debug_shared, razer_bcd_debug_static, but not razer_bcd.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

run ldd daemon/razer_bcd

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024
goldorak razer_blackwidow_chroma_driver # ldd daemon/razer_bcd
        linux-vdso.so.1 (0x00007ffe395c7000)
        librazer_chroma.so => /lib64/librazer_chroma.so (0x0000003f9a200000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003f99600000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003f99e00000)
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x0000003fa4600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003f99200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f98e00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f99a00000)
        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x0000003f9fe00000)
        libcap.so.2 => /lib64/libcap.so.2 (0x0000003f9f200000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003f9a600000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x0000003f9d200000)
        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x0000003fa0000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003f9c200000)
        libattr.so.1 => /lib64/libattr.so.1 (0x0000003f9ea00000)
goldorak razer_blackwidow_chroma_driver # 

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

have you tried replacing /lib64/librazer_chroma.so with the one in git_checkout/lib/librazer_chroma.so

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

I just did it, and: its working :)

goldorak razer_blackwidow_chroma_driver # cp lib/librazer_chroma.so /lib64/librazer_chroma.so 
cp : voulez-vous écraser « /lib64/librazer_chroma.so » ? y
goldorak razer_blackwidow_chroma_driver # ldconfig
goldorak razer_blackwidow_chroma_driver # ./daemon/razer_bcd --pid-file /var/run/razer_bcd.pid
Starting razer blackwidow chroma daemon as a daemon
goldorak razer_blackwidow_chroma_driver # ps auxww | grep razer
root     26430  0.6  0.0  36512  2488 ?        Ss   13:14   0:00 ./daemon/razer_bcd --pid-file /var/run/razer_bcd.pid
root     27219  0.0  0.0 112608  2252 pts/0    S+   13:16   0:00 grep --color=auto razer
goldorak razer_blackwidow_chroma_driver # 

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

The new version has some debug logging to syslog with --verbose=7 (getopt requires the = and not a space :( )

Does the chroma_controller show you the correct keyboard? (Might need to download new changes for that though)

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Yes, I can see the azerty layout :)

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Would you mind testing each key? In theory they should work.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Ok, i will in a moment.

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

I have done this test:
razer2
It's working fine

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Awesome cheers. Mind if I mark this as closed now?

from razer_chroma_drivers.

Mat9999 avatar Mat9999 commented on June 30, 2024

Its Ok, thank you for this good work.

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Nice thanks, I look into that

On Sat, Jan 16, 2016 at 3:18 PM, Mat9999 [email protected] wrote:

If you are interrested in, there profiles that I copied from official
razer
templates here;

http://www.razerzone.com/gaming-keyboards-keypads/razer-blackwidow-chroma

starcraft 2 and League of legends are playable with wine so it can be
usefull
to have those profiles under linux.

Mathieu OKUYAMA


Reply to this email directly or view it on GitHub
#49 (comment)
.

from razer_chroma_drivers.

G33N avatar G33N commented on June 30, 2024

Hello , I have the following problem when compiling in archlinux

sh install_driver.sh

cp: cannot stat 'init.d/razer_bcd': No such file or directory Makefile:31: recipe for target 'install' failed make: *** [install] Error 1

Could you help me?

from razer_chroma_drivers.

terrycain avatar terrycain commented on June 30, 2024

Does arch use systemd for its boot up?

And you don't have a problem with compiling, you have a problem with installing, there is a massive difference.

from razer_chroma_drivers.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.