Giter VIP home page Giter VIP logo

hack-ssd1306-openwrt's Introduction

SSD1306 OLED Display On OpenWRT and Hootoo Box

As a fun thing you can do to learn about linux device tree and playing with linux device drivers is connecting an i2c display through a usb dongle to a linux box and then making it work with a framebuffer driver.

This for example allows you to write pixels to the display by using a standard framebuffer file (/dev/fbX) which a linux application can then easily access.

To do this you need to get two drivers from this repo. First is a ch341 driver package for openwrt which I have confirmed works and another one is the ssd1306 framebuffer driver which I modified to work on OpenWRT.

Image

Some points of interest:

  • The ssd1306 driver interfaces with standard linux framebuffer system. I have modified the ssd1307fb driver already in the main linux tree because I could not make it work without having to modify it. After replacing init sequence to use one used by the u8g library things work a lot better.

  • To get the display driver to recognise the display, I register it from the command line like this (0x3c is the i2c address of my display):

    echo "ssd1306fb 0x3c" > /sys/bus/i2c/devices/i2c-0/new_device

  • The driver stores written data in a buffer and schedule work for putting it to the display. I removed the blocking updates from the original driver so that update is now triggered to happen in the background. If you are writing to the display while an update is in progress, the data will be partially new on the screen, but a new full update will happen after current one is done.

  • The i2c interface is very slow. Current implementation has to split writes into chunks of max 25 bytes due to limitations of the i2c converter. More info needed. There is probably lots of room for improvement here. But that's beyond this little test.

COPYING

  • Copyright 2016 Martin Schröder [email protected]
  • Copyright [ original authors of driver code ]

You may use this code according to their original licenses.

hack-ssd1306-openwrt's People

Contributors

mkschreder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hack-ssd1306-openwrt's Issues

pixel order seems wrong

I'm trying your drive on MT7628AN (MIPS24KEc, little-endian) running OpenWrt master. Somehow the pixel order is wrong. When I write 16 bytes to /dev/fb0 I'd expect that being the first 128 pixels, ie. the first line on the display. However, what I get is chunks of 4x8 pixels, ie. the first 16x8 pixels are affected instead of the expected 128x1.
This of course also results in framebuffer console fonts being unreadable and everything being quite a mess...

[   16.743131] ssd1306: display initialized
[   16.747867] Console: switching to mono frame buffer device 16x8
[   16.776549] ssd1306fb 0-003c: fb0: SSD1306 OLED framebuffer device registered, using 1024 bytes of video memory
[   16.787206] i2c-mt7621 10000900.i2c: clock 100KHz, re-start not support

unable insmod ssd1306fb kernel modle

This is my OPENWRT's info:

Status
System
Hostname OpenWrt
Model TP-Link TL-WR703N v1
Firmware Version OpenWrt Chaos Calmer 15.05.1 r49610 / LuCI for-15.05 branch (git-17.136.58961-13aa5ff)
Kernel Version 3.18.91
Local Time Sun Jan 14 08:52:14 2018
Uptime 0h 31m 58s
Load Average 0.00, 0.02, 0.00

root@OpenWrt:~# uname -a

#Linux OpenWrt 3.18.91 #7 Thu Jan 11 04:19:07 CST 2018 mips GNU/Linux

root@OpenWrt:~# opkg install kmod-ssd1306fb_3.18.91-1_ar71xx.ipk
Installing kmod-ssd1306fb (3.18.91-1) to root...
Configuring kmod-ssd1306fb.
[ 606.530000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 606.540000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 606.540000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 606.550000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 606.550000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 606.560000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 606.570000] ssd1306fb: Unknown symbol framebuffer_release (err 0)

root@OpenWrt:#
root@OpenWrt:
# insmod /lib/modules/3.18.91/ssd1306fb.ko
[ 1374.400000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 1374.400000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 1374.410000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 1374.410000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 1374.420000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 1374.420000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 1374.430000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
failed to insert /lib/modules/3.18.91/ssd1306fb.ko
root@OpenWrt:# dmesg
[ 0.000000] Linux version 3.18.91 (vgegok@OpenWrt) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r49610) ) #7 Thu Jan 11 04:19:07 CST 2018
[ 0.000000] MyLoader: sysp=ff72e47f, boardp=dd5cdbe6, parts=bd66f400
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] SoC: Atheros AR9330 rev 1
[ 0.000000] Determined physical RAM map:
………………………………………………………………………………………………………………………………………………
[ 11.570000] mount_root: loading kmods from internal overlay
[ 11.620000] usbcore: registered new interface driver i2c-ch341-u2c
[ 11.620000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 11.630000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 11.640000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 11.640000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 11.650000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 11.650000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 11.660000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 11.670000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 11.670000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 11.680000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 11.680000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 11.690000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 11.690000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 11.700000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 11.710000] kmodloader: 1 module could not be probed
[ 11.710000] kmodloader: - ssd1306fb - 0
[ 11.850000] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[ 11.870000] block: extroot: not configured
[ 11.870000] mount_root: switching to jffs2 overlay
[ 11.930000] procd: - early -
[ 11.930000] procd: - watchdog -
[ 12.830000] procd: - ubus -
[ 13.840000] procd: - init -
[ 15.510000] NET: Registered protocol family 10
[ 15.550000] ntfs: driver 2.1.31 [Flags: R/O MODULE].
[ 15.630000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.640000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.640000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.650000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.650000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.660000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.660000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.670000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.680000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.680000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.690000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.690000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.700000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.700000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.720000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 15.720000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.730000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.730000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.740000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.750000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.750000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.760000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.780000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.780000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.790000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.790000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.800000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.810000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.810000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.820000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.820000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.830000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.840000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.840000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.850000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.850000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.860000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.870000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.870000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.880000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.880000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.890000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.890000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.900000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.910000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.910000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.920000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.920000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.930000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.940000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 15.940000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 15.950000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 15.950000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 15.960000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 15.970000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 15.970000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 15.980000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 16.000000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 16.010000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 16.010000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 16.020000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 16.020000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 16.030000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 16.030000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 16.040000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 16.050000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 16.050000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 16.060000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 16.060000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 16.070000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 16.070000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 16.080000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 16.090000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 16.090000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 16.100000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 16.110000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 16.110000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 16.120000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 16.150000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 16.150000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 16.160000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 16.160000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 16.170000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 16.180000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 16.180000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 16.190000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 16.190000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 16.200000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 16.200000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 16.210000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 16.220000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 16.220000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.430000] i2c /dev entries driver
[ 18.440000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.440000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.450000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.450000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.460000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.460000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.470000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.480000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.480000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.490000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.490000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.500000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.510000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.510000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.560000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.560000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.570000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.570000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.580000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.580000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.590000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.600000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.610000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.610000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.620000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.620000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.630000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.630000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.650000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.650000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.660000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.660000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.670000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.670000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.680000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.690000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.690000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.700000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.700000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.710000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.720000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.720000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.740000] hidraw: raw HID events driver (C) Jiri Kosina
[ 18.750000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.750000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.760000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.760000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.770000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.770000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.780000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.790000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.790000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.800000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.800000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.810000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.820000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.820000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.830000] Loading modules backported from Linux version v4.4-rc5-1913-gc8fdf68
[ 18.840000] Backport generated by backports.git backports-20151218-0-g2f58d9d
[ 18.850000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 18.870000] nf_conntrack version 0.5.0 (954 buckets, 3816 max)
[ 18.910000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 18.920000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 18.920000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 18.930000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 18.930000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 18.940000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 18.940000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 18.950000] usbcore: registered new interface driver ums-alauda
[ 18.960000] usbcore: registered new interface driver ums-cypress
[ 18.970000] usbcore: registered new interface driver ums-datafab
[ 18.970000] usbcore: registered new interface driver ums-freecom
[ 18.980000] usbcore: registered new interface driver ums-isd200
[ 18.990000] usbcore: registered new interface driver ums-jumpshot
[ 19.000000] usbcore: registered new interface driver ums-karma
[ 19.010000] usbcore: registered new interface driver ums-sddr09
[ 19.020000] usbcore: registered new interface driver ums-sddr55
[ 19.030000] usbcore: registered new interface driver ums-usbat
[ 19.040000] usbcore: registered new interface driver usbhid
[ 19.040000] usbhid: USB HID core driver
[ 19.060000] usbcore: registered new interface driver usbserial
[ 19.060000] usbcore: registered new interface driver usbserial_generic
[ 19.070000] usbserial: USB Serial support registered for generic
[ 19.100000] xt_time: kernel timezone is -0000
[ 19.160000] usbcore: registered new interface driver ch341
[ 19.160000] usbserial: USB Serial support registered for ch341-uart
[ 19.170000] usbcore: registered new interface driver cp210x
[ 19.170000] usbserial: USB Serial support registered for cp210x
[ 19.180000] usbcore: registered new interface driver ftdi_sio
[ 19.190000] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 19.290000] PPP generic driver version 2.4.2
[ 19.300000] NET: Registered protocol family 24
[ 19.310000] usbcore: registered new interface driver snd-usb-audio
[ 19.320000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 19.320000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 19.330000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 19.340000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 19.340000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 19.350000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 19.350000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 19.410000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 19.410000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 19.420000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 19.420000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 19.430000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 19.440000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 19.440000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 19.460000] usbcore: registered new interface driver ath9k_htc
[ 19.470000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 19.480000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 19.480000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 19.490000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 19.490000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 19.500000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 19.500000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 19.530000] ath: EEPROM regdomain: 0x0
[ 19.530000] ath: EEPROM indicates default country code should be used
[ 19.530000] ath: doing EEPROM country->regdmn map search
[ 19.530000] ath: country maps to regdmn code: 0x3a
[ 19.530000] ath: Country alpha2 being used: US
[ 19.530000] ath: Regpair used: 0x3a
[ 19.540000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 19.540000] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2
[ 19.550000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 19.560000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 19.560000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 19.570000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 19.580000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 19.580000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 19.590000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 19.590000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 19.600000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 19.610000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 19.610000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 19.620000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 19.620000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 19.630000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 31.060000] device eth0 entered promiscuous mode
[ 31.060000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[ 34.940000] random: nonblocking pool is initialized
[ 35.190000] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
[ 35.220000] device wlan0-1 entered promiscuous mode
[ 35.220000] br-lan: port 2(wlan0-1) entered forwarding state
[ 35.230000] br-lan: port 2(wlan0-1) entered forwarding state
[ 35.480000] br-lan: port 2(wlan0-1) entered disabled state
[ 35.600000] Custom GPIO-based I2C driver version 0.1.1
[ 35.600000] i2c-gpio i2c-gpio.0: using pins 29 (SDA) and 7 (SCL)
[ 35.660000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 39.880000] wlan0: authenticate with a0:8c:f8:89:34:f4
[ 39.900000] wlan0: send auth to a0:8c:f8:89:34:f4 (try 1/3)
[ 39.910000] wlan0: authenticated
[ 39.940000] wlan0: associate with a0:8c:f8:89:34:f4 (try 1/3)
[ 39.940000] wlan0: RX AssocResp from a0:8c:f8:89:34:f4 (capab=0x411 status=0 aid=6)
[ 39.950000] wlan0: associated
[ 39.960000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 40.000000] br-lan: port 2(wlan0-1) entered forwarding state
[ 40.000000] br-lan: port 2(wlan0-1) entered forwarding state
[ 40.010000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
[ 40.040000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 42.000000] br-lan: port 2(wlan0-1) entered forwarding state
[ 78.170000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 78.180000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 78.190000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 78.190000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 78.200000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 78.200000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 78.210000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 174.910000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 174.910000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 174.920000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 174.920000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 174.930000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 174.940000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 174.940000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 606.530000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 606.540000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 606.540000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 606.550000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 606.550000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 606.560000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 606.570000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
[ 1374.400000] ssd1306fb: Unknown symbol unregister_framebuffer (err 0)
[ 1374.400000] ssd1306fb: Unknown symbol cfb_copyarea (err 0)
[ 1374.410000] ssd1306fb: Unknown symbol framebuffer_alloc (err 0)
[ 1374.410000] ssd1306fb: Unknown symbol register_framebuffer (err 0)
[ 1374.420000] ssd1306fb: Unknown symbol cfb_imageblit (err 0)
[ 1374.420000] ssd1306fb: Unknown symbol cfb_fillrect (err 0)
[ 1374.430000] ssd1306fb: Unknown symbol framebuffer_release (err 0)
root@OpenWrt:
#

can you help me?
TKS

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.