Difference between revisions of "Hacks, hints, and tricks"

From Studio Kousagi Wiki
Jump to: navigation, search
(Novena USB hub)
Line 81: Line 81:
==Novena USB hub==
==Novena USB hub==
See [[Novena-usb-hub]]
See [[Novena-usb-hub]]
==Startup scripts and systemd==
See https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/Linux_Startup_Process_-_Systemd for help.

Revision as of 07:17, 8 July 2014

A resting place for important technotes that don't fit anywhere else.


I2C debugging

The kernel will lock I2C devices, making it impossible to use userspace tools to debug an issue. To get around this, modify drivers/i2c/i2c-dev.c and remove the EBUSY return statement. E.g. there's a function that either returns 0 or -EBUSY, make it always return 0.

Then you can use the i2c utilities to access devices that are in use.

Linux kernel debugfs


contains helpful debugging infos. To mount this, use this command (assuming you've compiled in said support):

mount -tdebugfs none /sys/kernel/debug


Building a u-boot script

mkimage -T script -C none -n 'Novena Boot Script' -d boot.txt boot.scr

boot.txt is the non-binary gook extractable from boot.scr, or you can look at the git repo to retrieve it.

Using a serial port

To use a plug-in USB serial port with screen, you need to be part of the "dialup" group.

sudo vigr

And add your username to the end of the "dialup" line

sudo vigr -s

And add your username yet again to the end of the "dialup" line

Exit, and log back in. You should be able to do something like

screen /dev/ttyUSB0 115200

and use the USB serial adapter you just plugged in.

Bluetooth pairing

Some keyboards don't have a fixed PIN. To pair with them, edit the bluez-simple-agent program:

sudo emacs /usr/bin/bluez-simple-agent

and replace ‘KeyboardDisplay’ with ‘DisplayYesNo’.

This will cause the agent to display the PIN code you have to enter, instead of assuming it's fixed at 0000.

Then you can run

hcitool scan

Pick out the MAC of the device, and run

bluez-simple-agent hci0 [your mac address]

This should pair the two, to unpair you can do

bluez-simple-agent hci0 [your mac address] remove

Now you have to "trust" the device:

bluez-test-device trusted [your mac address] yes

And finally, connect it:

bluez-test-input connect [your mac address] yes

Getting date and time to work

The system should get date/time automatically when you get an IP address.

If that's not happening, do the following:

sudo rm /etc/udev/rules.d/70-persistent-net.rules

This will remove anything that's interfering with getting the DHCP client to work.

Also make sure that this package exists

sudo apt-get install ntpdate

Novena USB hub

See Novena-usb-hub

Startup scripts and systemd

See https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/Linux_Startup_Process_-_Systemd for help.