Coder Social home page Coder Social logo

mips / ci20_linux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from torvalds/linux

54.0 54.0 24.0 1.63 GB

Linux kernel source tree with MIPS Creator CI20 (JZ4780 based) board patches/development for upstreaming

License: Other

Makefile 0.28% C 95.13% Assembly 2.05% C++ 2.03% Objective-C 0.31% Shell 0.03% Perl 0.10% Awk 0.01% Python 0.03% UnrealScript 0.01% Scilab 0.01% Yacc 0.02% Lex 0.01% SourcePawn 0.01% GDB 0.01%

ci20_linux's Issues

Provide brcm80211 driver for hostapd

Hi there,

to get hostapd working on the ci20 I need a cfg80211 or mac80211 driver.
The Broadcom 4330 on the ci20 is supported by the brcm80211 (brcmsmac) driver:
http://wireless.kernel.org/en/users/Drivers/brcm80211

So I followed the debian doc to install the firmware:
https://wiki.debian.org/brcm80211
but it seems that package does not include the modules (modprobe fails, module brcmsmac not found).

Is there a way to get the driver working? I don't need the bluetooth chip, if that is the issue.

Cheers,
acidicX

ci20-3.0.8 install_headers

The headers install procedure in ci20-3.0.8 kernel skips two files which affect some utilities such as ebtables-2.0.10-4. To fix this I suggest to apply following patch:
diff -b --unified -Nr linux-ci20-3.0.8-20150728-orig/include/linux/Kbuild linux-ci20-3.0.8-20150728/include/linux/Kbuild
--- linux-ci20-3.0.8-20150728-orig/include/linux/Kbuild 2015-07-28 13:34:24.000000000 +0300
+++ linux-ci20-3.0.8-20150728/include/linux/Kbuild 2015-08-30 12:55:21.512390511 +0300
@@ -182,6 +182,8 @@
header-y += if_ppp.h
header-y += if_pppol2tp.h
header-y += if_pppox.h
+header-y += if_pppolac.h
+header-y += if_pppopns.h
header-y += if_slip.h
header-y += if_strip.h
header-y += if_tr.h

serial/8250: PORT_INGENIC_JZ does not work for JZ4755

This commit adds JZ4780 UART support into generic 8250 driver:

commit 3939d3a65122eb40beec6aed1484c04ffc20cc27
Author: Paul Burton <[email protected]>
Date:   Tue Jul 9 09:42:22 2013 +0100

    serial/8250: add support for Ingenic jz47xx UART quirks

    The UART block used in Ingenic SoCs is advertised as NS16550 compatible,
    however it isn't quite. The only difference relevant to basic usage is
    the presence of a 'UART module enable' bit in the FCR register which
    must be set at all times in order for the UART block to function. This
    patch introduces a new UART port type for Ingenic jz47xx UARTs which
    simply sets that bit.

But this "jz47xx" code does not work on JZ4755: too many characters are lost during output!

Here is my workaround for JZ4755:

--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -325,10 +325,8 @@ static const struct serial8250_config uart_config[] = {
        },
        [PORT_INGENIC_JZ] = {
                .name           = "Ingenic JZ UART",
-               .fifo_size      = 64,
-               .tx_loadsz      = 32,
-               .fcr            = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
-               .flags          = UART_CAP_FIFO | UART_CAP_RTOIE,
+               .fifo_size      = 1,
+               .tx_loadsz      = 1,
        },
 };

Can we use more accurate compatible value? The ingenic,jz-uart is too generic.

CPU usage statistics wrong on second CPU in 3.18

I think #25 contained two separate bugs and my related one got lost when it was closed, so I'll create a new one here.

When using 3.18 with SMP enabled, /proc/stat, top and htop say that there is 100% irq usage on the second CPU. The statistics are correct when using 3.0.8.

Example I posted in #25:

$ cat /proc/stat
#    user   nice   system idle      io    irq       softirq
cpu  890971 212506 266051 254229651 37111 254761780 168504 0 0 0
cpu0 490938  91070 266051 254229651 37111         0 168504 0 0 0
cpu1 400033 121436      0         0     0 254761780      0 0 0 0
$ top
top - 22:42:59 up 17 min,  1 user,  load average: 0.01, 0.08, 0.13
Tasks:  65 total,   1 running,  64 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 50.0 id,  0.0 wa, 49.8 hi,  0.0 si,  0.0 st
                                                      ^^^^

fatal error: linux/compiler-gcc6.h: No such file or directory

It is becoming harder to compile the current 3.18.3 with recent GCC (eg 6.3.0):

  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
In file included from include/linux/compiler.h:54:0,
                 from include/uapi/linux/stddef.h:1,
                 from include/linux/stddef.h:4,
                 from ./include/uapi/linux/posix_types.h:4,
                 from include/uapi/linux/types.h:13,
                 from include/linux/types.h:5,
                 from include/linux/page-flags.h:8,
                 from kernel/bounds.c:9:
include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
 #include gcc_header(__GNUC__)
                              ^
compilation terminated.
Kbuild:35: recipe for target 'kernel/bounds.s' failed

Kernel v3.18.3+ spins 2nd cpu

When I succeeded in building v3.18.3+ on the ci20 it booted fine but the 2nd CPU sits at 100%
top was reporting rpcbind as 100% (or 50% of total CPU use) when I killed rpcbind the CPU load still did not drop but it was not in any process shown by top...
I was using top with "1" and "I" to show individual CPU stats in the totalled vs non-totalled mode

Errors 3.18.3

Please help for jessie
How to fix
ingenic-ci20-audio audio-ci20: ASoC: CODEC DAI dw-hdmi-hifi not registered
Error: Driver 'jz4780_drm' is already registered, aborting...
i2c i2c-4: I2C xfer failed

Drivers inherited from upstream are renamed

Some commits like c83d62d rename upstream drivers.
This will be rejected by upstream developers; the original name of the driver should remain even if it is extended to support a broader panel of hardware.

3.0.8 kinteractiveup task hung

If you compile the kernel with CONFIG_DETECT_HUNG_TASK=y

[ 240.] INFO: task kinteractiveup:64 blocked for more than 120 seconds.
[ 240.] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 240.] kinteractiveup D 00000000 0 64 2 0x00100000
[ 240.] Stack : 00000003 00000001 00000000 8003ca80 00000000 00000000 00000000 00000000
[ 240.] 8c031e44 8c031e40 10000000 00000000 80484244 00000000 00000000 00000000
[ 240.] 8c031e30 00000000 80484244 00000000 00000000 00000000 00000000 00000000
[ 240.] 00000000 800735f0 00000000 00000000 00000000 00000000 00000000 00000000
[ 240.] 00000000 00000000 dead4ead ffffffff ffffffff 8c3cfefc 8c3cfefc 81c0cfa0
[ 240.] ...
[ 240.] Call Trace:
[ 240.] [<8066c218>] __schedule+0x2b8/0x7fc
[ 240.] [<800735f0>] kthread+0x6c/0x90
[ 240.] [<8001e9ac>] kernel_thread_helper+0x10/0x18
[ 240.]
[ 300.] JZ4780-EFUSE: vddq_set 0
[ 360.] INFO: task kinteractiveup:64 blocked for more than 120 seconds.
[ 360.] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 360.] kinteractiveup D 00000000 0 64 2 0x00100000
[ 360.] Stack : 00000003 00000001 00000000 8003ca80 00000000 00000000 00000000 00000000
[ 360.] 8c031e44 8c031e40 10000000 00000000 80484244 00000000 00000000 00000000
[ 360.] 8c031e30 00000000 80484244 00000000 00000000 00000000 00000000 00000000
[ 360.] 00000000 800735f0 00000000 00000000 00000000 00000000 00000000 00000000
[ 360.] 00000000 00000000 dead4ead ffffffff ffffffff 8c3cfefc 8c3cfefc 81c0cfa0
[ 360.] ...
[ 360.] Call Trace:
[ 360.] [<8066c218>] __schedule+0x2b8/0x7fc
[ 360.] [<800735f0>] kthread+0x6c/0x90
[ 360.] [<8001e9ac>] kernel_thread_helper+0x10/0x18
[ 360.]

Btw. I have deleted the ms in the dmesg times to make it easier to read here.

Unable to build kernel module z4780_drv on v3.18

I try to build the kernel (3.18 commit: 8ef5089) but it failed.

First of all the default ci20_defconfig fail on building firmware of wireless sdio card. Anyway I removed for the moment the driver, and I'll look it later.

It failed during building of z4780_drv.o (I try to build it as module and not built-in) I add a log at the end of the message.

I'm using this compiler:

--- Compiler ---
mips-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=mips-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/alexjan/build/mips_qemu/output/host/opt/ext-toolchain/bin/../libexec/gcc/mips-linux-gnu/4.9.1/lto-wrapper
Target: mips-linux-gnu
Configured with: /scratch/cmoore/final-2014.11-linux-lite/src/gcc-4.9-2014.11/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=mips-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-arch-32=mips32r2 --with-arch-64=mips64r2 --with-float=hard --with-mips-plt --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} -D__CS_SOURCERYGXX_MAJ__=2014 -D__CS_SOURCERYGXX_MIN__=11 -D__CS_SOURCERYGXX_REV__=22' --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-glibc-version=2.20 --with-pkgversion='Sourcery CodeBench Lite 2014.11-22' --with-bugurl=https://sourcery.mentor.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/mips-linux-gnu/libc --with-build-sysroot=/scratch/cmoore/final-2014.11-linux-lite/install/opt/codesourcery/mips-linux-gnu/libc --with-gmp=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-isl=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-cloog=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-libelf=/scratch/cmoore/final-2014.11-linux-lite/obj/pkg-2014.11-22-mips-linux-gnu/mips-2014.11-22-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --enable-libgomp --disable-libitm --enable-libatomic --disable-libssp --enable-poison-system-directories --with-build-time-tools=/scratch/cmoore/final-2014.11-linux-lite/install/opt/codesourcery/mips-linux-gnu/bin --with-build-time-tools=/scratch/cmoore/final-2014.11-linux-lite/install/opt/codesourcery/mips-linux-gnu/bin SED=sed
Thread model: posix
gcc version 4.9.1 (Sourcery CodeBench Lite 2014.11-22)

--- End Compiler ---
--- Log ---
CC [M] drivers/gpu/drm/jz4780/jz4780_drv.o
In file included from include/linux/printk.h:5:0,
from include/linux/kernel.h:13,
from include/linux/clk.h:16,
from drivers/gpu/drm/jz4780/jz4780_drv.h:21,
from drivers/gpu/drm/jz4780/jz4780_drv.c:20:
include/linux/init.h:328:27: error: redefinition of 'inittest'
static inline initcall_t __inittest(void)
^
drivers/gpu/drm/jz4780/jz4780_drv.c:374:1: note: in expansion of macro 'module_init'
module_init(jz4780_drm_init);
^
include/linux/init.h:328:27: note: previous definition of '__inittest' was here
static inline initcall_t __inittest(void)
^
include/linux/init.h:320:28: note: in expansion of macro 'module_init'
#define late_initcall(fn) module_init(fn)
^
drivers/gpu/drm/jz4780/jz4780_drv.c:373:1: note: in expansion of macro 'late_initcall'
late_initcall(jz4780_drm_init);
^
include/linux/init.h:330:6: error: redefinition of 'init_module'
int init_module(void) __attribute
((alias(#initfn)));
^
drivers/gpu/drm/jz4780/jz4780_drv.c:374:1: note: in expansion of macro 'module_init'
module_init(jz4780_drm_init);
^
include/linux/init.h:330:6: note: previous definition of 'init_module' was here
int init_module(void) attribute((alias(#initfn)));
^
include/linux/init.h:320:28: note: in expansion of macro 'module_init'
#define late_initcall(fn) module_init(fn)
^
drivers/gpu/drm/jz4780/jz4780_drv.c:373:1: note: in expansion of macro 'late_initcall'
late_initcall(jz4780_drm_init);
^
make[4]: *** [drivers/gpu/drm/jz4780/jz4780_drv.o] Error 1
make[3]: *** [drivers/gpu/drm/jz4780] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2
--- End Log ---

OpenGL textures problem

Hello.

I found some issue with OpenGL driver, then dynamicly updating texture using glTexImage2d() or glTexSubImage2d().
I've tested this with Debian 8 beta.

Here are my OpenGL calls:

glBindTexture(); //Bind a texture ID.
glTexImage2d(); //Upload first texture.
glDrawArrays(); //Bug here, the second texture is displayed here instead of first.
glTexImage2d(); //Upload second texture.
glDrawArrays(); //Second texture is correctly displayed here.

LAN Auto-Negotiation fails (LED blinks orange) on Gigabit Switch

Hi there,
when connected to a gigabit router (in this case a Netgear WNDR 3700 v2), the auto-negotiation fails and the LAN port only blinks orange (indicating wrong speed). Auto-negotiation works fine with the same router and a RBPi (also 10/100 Mbit card).

I can get a connection when I use a crossover cable and connect it to my Linux PC with a static 10 or 100 Mbit/s speed (set via mii-tool on the PC). Auto-negotiation however also fails with the crossover cable (PC has a gigabit ethernet card).

I have not tried it on a 100 Mbit/s switch/router yet.
// edit:
It did not work with the stock image, and still does not work after running apt-get upgrade.

Highmem causes applications to crash

When highmem is enabled on 3.18, userspace applications are very likely to crash with a SIGILL / SIGSEGV / SIGBUS signal.
Disabling highmem in the kernel, or reducing the RAM amount to 256 MiB in u-boot's command line, make those issues disappear.

SD/MMC hotplug issue in 3.0.8

Boot the default debian from NAND.

Plug in an SD card before powering on. It mounts and works.

Remove SD card. Plug in again. Try mounting. And you get errors.

http://pastebin.com/ZPYVnkGM

[ 848.991832] jzmmc jzmmc.0: err1 cmd18 iflg00002204 status1F000942
[ 848.998335] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.004742] mmcblk0: error -1 sending status command, retrying
[ 849.010875] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.017515] mmcblk0: error -1 sending status command, retrying
[ 849.023623] jzmmc jzmmc.0: err1 cmd13 iflg00002305 status1F001843
[ 849.030302] mmcblk0: error -1 sending status command, aborting
[ 849.036461] end_request: I/O error, dev mmcblk0, sector 4096
[ 849.042659] jzmmc jzmmc.0: err1 cmd18 iflg00002204 status1F000942
[ 849.049121] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.055486] mmcblk0: error -1 sending status command, retrying
[ 849.061553] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.068079] mmcblk0: error -1 sending status command, retrying
[ 849.074579] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.080926] mmcblk0: error -1 sending status command, aborting
[ 849.087279] end_request: I/O error, dev mmcblk0, sector 4096
[ 849.095229] jzmmc jzmmc.0: err1 cmd18 iflg00002204 status1F000942
[ 849.101611] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.108067] mmcblk0: error -1 sending status command, retrying
[ 849.114182] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.120772] mmcblk0: error -1 sending status command, retrying
[ 849.127123] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.133514] mmcblk0: error -1 sending status command, aborting
[ 849.139730] end_request: I/O error, dev mmcblk0, sector 4098
[ 849.145803] EXT4-fs (mmcblk0p1): unable to read superblock
[ 849.195142] jzmmc jzmmc.0: err1 cmd18 iflg00002204 status1F000942
[ 849.201525] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.208031] mmcblk0: error -1 sending status command, retrying
[ 849.214579] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.220952] mmcblk0: error -1 sending status command, retrying
[ 849.227637] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.233984] mmcblk0: error -1 sending status command, aborting
[ 849.240122] end_request: I/O error, dev mmcblk0, sector 4098
[ 849.246091] EXT4-fs (mmcblk0p1): unable to read superblock
[ 849.285107] jzmmc jzmmc.0: err1 cmd18 iflg00002204 status1F000942
[ 849.291490] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.297897] mmcblk0: error -1 sending status command, retrying
[ 849.304285] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.310735] mmcblk0: error -1 sending status command, retrying
[ 849.316949] jzmmc jzmmc.0: err1 cmd13 iflg00002204 status1F000942
[ 849.323263] mmcblk0: error -1 sending status command, aborting
[ 849.329375] end_request: I/O error, dev mmcblk0, sector 4098
[ 849.335312] EXT4-fs (mmcblk0p1): unable to read superblock
[ 849.375039] jzmmc jzmmc.0: err1 cmd17 iflg00002204 status1F000942
[ 849.381404] jzmmc jzmmc.0: err1 cmd13 iflg00002205 status1F001842
[ 849.387869] mmcblk0: error -1 sending status command, retrying
[ 849.393940] jzmmc jzmmc.0: err1 cmd13 iflg00002205 status1F001842
[ 849.400492] mmcblk0: error -1 sending status command, retrying
[ 849.406707] jzmmc jzmmc.0: err1 cmd13 iflg00002205 status1F001842
[ 849.413026] mmcblk0: error -1 sending status command, aborting
[ 849.419198] end_request: I/O error, dev mmcblk0, sector 4096
[ 849.425140] FAT-fs (mmcblk0p1): unable to read boot sector
mount: /dev/mmcblk0p1: can't read superblock

NFS rootfs fails on 3.16

Tested buildroot filesystem.
Same rootfs works via sd card.
Same nfs export mounts via nfs rootfs using 3.0.8
Same nfs export mounts via terminal in 3.16 once booted using mmc.

Bootlog here
http://pastebin.com/yVKyFiQ8

Bootargs
setenv bootargs console=ttyS4,115200 console=ttyS0 mem=256M@0x0 mem=768M@0x30000000 root=/dev/nfs nfsroot=192.168.154.89:/export,nfsvers=3,nolock nfsrootdebug ip=dhcp devtmpfs.mount=1 rw rootwait

Fails to build Octeon kernel

I've just tried to rebuild the full Debian kernel with all the different CPU flavours with the CI20 patches applied. The Loongson flavours build fine but the Octeon flavour fails with:

arch/mips/built-in.o: In function `jz_wait_irqoff':
idle.c:(.text+0x1d118): undefined reference to `r4k_blast_dcache'
idle.c:(.text+0x1d11c): undefined reference to `r4k_blast_dcache'
/home/jcowgill/linux/linux/Makefile:891: recipe for target 'vmlinux' failed

Presumably because arch/mips/mm/c-r4k.c where r4k_blast_dcache is not included in Octeon builds.

cpu stall during wifi transfers for long duration

Etn40ff on #ci20 mentioned cpu stalling after a while.

Traced it to WiFi possibly.

Long file download triggers it reproducibly on 3.16 and 3.18.

iperf triggers it as well.

rootfs is on SD card.

3.18 completely stalls without any error messages.

But 3.16 does give error messages. On ttyS0.

Some race condition/locking issue perhaps.

root@ci20:~#
[ 138.344000] INFO: rcu_sched self-detected stall on CPU { 0} (t=5250 jiffies g=5697 c=5696 q=21)
[ 138.344000] CPU: 0 PID: 46 Comm: kworker/u4:3 Not tainted 3.16.0-00104-g2f7dfd4 #1
[ 138.344000] Workqueue: brcmf_wq brcmf_sdio_dataworker
[ 138.344000] Stack : 00000006 00000000 00000000 805ff35c 00000001 80ddf518 00000002 00000000
8b464a80 80751860 80620000 807e0d88 807e8680 807e000 8121c420 00000000
807e000 805ff35c 8085359c 800439a0 00000000 00000000 8078e608 8b45572c
8b45572c 80021c84 00000000 8003e52c 8075751c 80750000 800707c0 00000000
00000000 00000000 00000000 00000000 00000000 00000000 6d637262 71775f66
...
[ 138.344000] Call Trace:
[ 138.344000] [<8000a028>] show_stack+0x64/0x7c
[ 138.344000] [<806032c0>] dump_stack+0x70/0x9c
[ 138.344000] [<8007e8b8>] rcu_check_callbacks+0x4cc/0x840
[ 138.344000] [<8002e414>] update_process_times+0x48/0x88
[ 138.344000] [<800898a4>] tick_handle_periodic+0x38/0xe4
[ 138.344000] [<8049af28>] jz47xx_tcu_single_channel_irq+0x98/0xcc
[ 138.344000] [<800732cc>] handle_irq_event_percpu+0x64/0x190
[ 138.344000] [<8007344c>] handle_irq_event+0x54/0x98
[ 138.344000] [<80076828>] handle_level_irq+0xdc/0x1a4
[ 138.344000] [<8007292c>] generic_handle_irq+0x38/0x4c
[ 138.344000] [<8007292c>] generic_handle_irq+0x38/0x4c
[ 138.344000] [<800063b0>] do_IRQ+0x18/0x28
[ 138.344000] [<80004390>] ret_from_irq+0x0/0x4
[ 138.344000] [<80026b24>] __do_softirq+0xcc/0x2a8
[ 138.344000] [<80026fbc>] irq_exit+0x78/0x84
[ 138.344000] [<80004390>] ret_from_irq+0x0/0x4
[ 138.344000] [<80499e88>] jz47xx_mmc_request+0x64/0xb0
[ 138.344000] [<8048699c>] __mmc_start_req+0x68/0x94
[ 138.344000] [<80486ed0>] mmc_wait_for_req+0x1c/0x38
[ 138.344000] [<804922e0>] mmc_io_rw_extended+0x32c/0x360
[ 138.344000] [<80493b28>] sdio_io_rw_ext_helper+0x1dc/0x270
[ 138.344000] [<80493e18>] sdio_readsb+0x1c/0x28
[ 138.344000] [<8043ea1c>] brcmf_sdiod_buffrw.isra.10+0x48/0xc8
[ 138.344000] [<8043f9a0>] brcmf_sdiod_recv_pkt+0x54/0x68
[ 138.344000] [<8043d73c>] brcmf_sdio_dataworker+0x1228/0x1d14
[ 138.344000] [<8003bafc>] process_one_work+0x1c0/0x45c
[ 138.344000] [<8003c6c0>] worker_thread+0x15c/0x57c
[ 138.344000] [<800430d4>] kthread+0xd0/0xe8
[ 138.344000] [<800043d8>] ret_from_kernel_thread+0x14/0x1c
[ 138.344000]
[ 154.592000] mmcblk0: error -145 sending status command, retrying
[ 159.712000] mmcblk0: error -145 sending status command, retrying
[ 164.832000] mmcblk0: error -145 sending status command, aborting
[ 164.836000] end_request: I/O error, dev mmcblk0, sector 4463120
[ 164.840000] end_request: I/O error, dev mmcblk0, sector 4463128
[ 164.848000] end_request: I/O error, dev mmcblk0, sector 4463136
[ 164.852000] Aborting journal on device mmcblk0p1-8.
[ 175.072000] mmcblk0: error -145 sending status command, retrying
[ 180.192000] mmcblk0: error -145 sending status command, retrying
[ 185.312000] mmcblk0: error -145 sending status command, aborting
[ 185.316000] end_request: I/O error, dev mmcblk0, sector 8694616
[ 185.320000] end_request: I/O error, dev mmcblk0, sector 8694624
[ 185.328000] end_request: I/O error, dev mmcblk0, sector 8694632
[ 185.332000] end_request: I/O error, dev mmcblk0, sector 8694640
[ 195.552000] mmcblk0: error -145 sending status command, retrying
[ 200.672000] mmcblk0: error -145 sending status command, retrying
[ 201.356000] INFO: rcu_sched self-detected stall on CPU { 0} (t=21003 jiffies g=5697 c=5696 q=84)
[ 201.356000] CPU: 0 PID: 46 Comm: kworker/u4:3 Not tainted 3.16.0-00104-g2f7dfd4 #1
[ 201.356000] Workqueue: brcmf_wq brcmf_sdio_dataworker
[ 201.356000] Stack : 00000006 00000000 00000000 805ff35c 00000001 80ddf518 00000002 00000000
8b464a80 80751860 80620000 807e0d88 807e8680 807e000 8121c420 00000000
807e000 805ff35c 8085359c 800439a0 00000000 00000000 8078e608 8b45572c
8b45572c 80021c84 00000000 8003e52c 8075751c 80750000 800707c0 00000000
00000000 00000000 00000000 00000000 00000000 00000000 6d637262 71775f66
...
[ 201.356000] Call Trace:
[ 201.356000] [<8000a028>] show_stack+0x64/0x7c
[ 201.356000] [<806032c0>] dump_stack+0x70/0x9c
[ 201.356000] [<8007e8b8>] rcu_check_callbacks+0x4cc/0x840
[ 201.356000] [<8002e414>] update_process_times+0x48/0x88
[ 201.356000] [<800898a4>] tick_handle_periodic+0x38/0xe4
[ 201.356000] [<8049af28>] jz47xx_tcu_single_channel_irq+0x98/0xcc
[ 201.356000] [<800732cc>] handle_irq_event_percpu+0x64/0x190
[ 201.356000] [<8007344c>] handle_irq_event+0x54/0x98
[ 201.356000] [<80076828>] handle_level_irq+0xdc/0x1a4
[ 201.356000] [<8007292c>] generic_handle_irq+0x38/0x4c
[ 201.356000] [<8007292c>] generic_handle_irq+0x38/0x4c
[ 201.356000] [<800063b0>] do_IRQ+0x18/0x28
[ 201.356000] [<80004390>] ret_from_irq+0x0/0x4
[ 201.356000] [<80026b24>] __do_softirq+0xcc/0x2a8
[ 201.356000] [<80026fbc>] irq_exit+0x78/0x84
[ 201.356000] [<80004390>] ret_from_irq+0x0/0x4
[ 201.356000] [<80499e88>] jz47xx_mmc_request+0x64/0xb0
[ 201.356000] [<8048699c>] __mmc_start_req+0x68/0x94
[ 201.356000] [<80486ed0>] mmc_wait_for_req+0x1c/0x38
[ 201.356000] [<804922e0>] mmc_io_rw_extended+0x32c/0x360
[ 201.356000] [<80493b28>] sdio_io_rw_ext_helper+0x1dc/0x270
[ 201.356000] [<80493e18>] sdio_readsb+0x1c/0x28
[ 201.356000] [<8043ea1c>] brcmf_sdiod_buffrw.isra.10+0x48/0xc8
[ 201.356000] [<8043f9a0>] brcmf_sdiod_recv_pkt+0x54/0x68
[ 201.356000] [<8043d73c>] brcmf_sdio_dataworker+0x1228/0x1d14
[ 201.356000] [<8003bafc>] process_one_work+0x1c0/0x45c
[ 201.356000] [<8003c6c0>] worker_thread+0x15c/0x57c
[ 201.356000] [<800430d4>] kthread+0xd0/0xe8
[ 201.356000] [<800043d8>] ret_from_kernel_thread+0x14/0x1c
[ 201.356000]
[ 205.792000] mmcblk0: error -145 sending status command, aborting
[ 205.796000] end_request: I/O error, dev mmcblk0, sector 8694744
[ 205.800000] end_request: I/O error, dev mmcblk0, sector 8694752
[ 205.808000] end_request: I/O error, dev mmcblk0, sector 8694760
[ 205.812000] end_request: I/O error, dev mmcblk0, sector 8694768
[ 205.820000] end_request: I/O error, dev mmcblk0, sector 8694776
[ 205.824000] end_request: I/O error, dev mmcblk0, sector 8694784
[ 216.032000] mmcblk0: error -145 sending status command, retrying
[ 221.152000] mmcblk0: error -145 sending status command, retrying
[ 226.272000] mmcblk0: error -145 sending status command, aborting
[ 226.276000] end_request: I/O error, dev mmcblk0, sector 4460544
[ 226.280000] Buffer I/O error on device mmcblk0p1, logical block 557056
[ 226.288000] lost page write due to I/O error on mmcblk0p1
[ 226.292000] JBD2: Error -5 detected when updating journal superblock for mmcblk0p1-8.

DM9000: sometimes fails to read id.

This issue can be solved changing reset-gpios with reset-gpio in ci20.dts or patching dm9000.c.
The first one is the fastest.
A diff can be done easily but, what is the preferred solution?

3.0.8 fdisk -l error

If you do an fdisk -l (the letter 'L' in lowercase) you get the following errors

[ 1052.076943] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0
[ 1052.093560] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0
[ 1052.110466] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0
[ 1052.127171] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0
[ 1052.143722] nand_do_read_ops: return -EBADMSG!
[ 1052.156056] end_request: I/O error, dev mtdblock0, sector 24
[ 1052.169310] Buffer I/O error on device mtdblock0, logical block 3
[ 1052.184283] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0
[ 1052.200971] jz4780-bch jz4780-bch.0: uncorrectable errors when do request from jz4780-nand.0

more detailed log here

http://pastebin.com/HEz6UkvW

Reproduced on 3.0.8 kernel compile boot from mmc. rootfs on mmc.
Reproduced on booting 3.0.8 from nand.

looks like when fdisk -l runs it probes devices.
it can probe the mmc driver correctly. but probing the nand device fails with dmesg outputs.

Build failure on JZ4780 generic target

Building the generic target results in the error:

DTC arch/mips/jz4780/dts/generic.dtb
ERROR (duplicate_label): Duplicate label 'extal' on /clocks/oscillator and /clocks/extal
ERROR: Input tree has errors, aborting (use -f to force output)
make[3]: *** [arch/mips/jz4780/dts/generic.dtb] Error 2
make[2]: *** [arch/mips/jz4780/dts] Error 2
make[1]: *** [arch/mips/jz4780] Error 2
make[1]: *** Waiting for unfinished jobs....

I'm using the IA32 compiler here:

https://sourcery.mentor.com/GNUToolchain/release2791?cmpid=7108

Camera not working with Android 4.4.2 and Kernel Version 3.0.8

I'd be grateful for any help/guidance.

I've just got my C120 and have loaded installed the android4.4.2_20141126 image.

The kernel is 3.0.8-12479-g505af31.

I presume the kernel is also used with Debian 8 as there is a note against that stating Mplayer is removed and PowerVR core driver has not yet been ported. Does anyone know if this is the reason the camera (the same one cited in the hardware pages) does not work? Before I installed Android I ran the Debian demos and the PowerVR ones worked fine but the desktop camera application reported Mplayer was missing.

I'd be very grateful if anyone know the status of these two drivers.

kernel build not 32 bit clean

The kernel compile uses 64 bit addresses when building on a 32 bit host either on the ci20 itself or on a x86 32 bit host. When built on a 64 bit host it throws away the high 32 bits of the load address, but on both mips and x86 it will stop processing in the mkimage strtoul at one 32 bit word's worth of data which is that annoying freeze or crash where it trys to uncompress to address 0xffffffff

Booting kernel from Legacy Image at 88000000 ...
Image Name: Linux-3.18.3+
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 3816747 Bytes = 3.6 MiB
Load Address: ffffffff <=== Problem
Entry Point: 805bdc10
Verifying Checksum ... OK
Uncompressing Kernel Image ...

and I have not found a way to set it in u-boot. Also you can't change the 0xffffffff80001000 in arch/mips/jz47[48]0/Platform because it is being used as some sort of magic flag and without the 0xffffffff part it doesn't know how to build a uImage. Currently I have patched mkimage to see if that fixes it, it took 1 hour to compile with make -j3 on the ci20.

Alas markdown does not seem to have a way to turn itself off so I can't include the two line patch so here is a sed script to do it instead.

sed -i "s/strtoul /strtoull /" tools/mkimage.c

The kernel really should be fixed to be 32 bit clean, magiclly dropping the high bits of the load address seems way out there.

Board freezes up

Hi.

I'm spending a lot of time buiding different versions of GCC on my Ci20.

Usually the board will freeze up fairly early on during the build. I will typically need to reboot the board three times, before I get a build which runs all the way through.

I have no idea what causes the problem - the board simply becomes unresponsive and I have to reboot/power cycle.

I have a high quality 2 amp power supply (Anker) with a USB cable designed for power rather than data. I've never seen the board draw more than 0.5 amps anyway, though.

This is with the latest stable Debian 8.

Connectivity is over ethernet (but the wifi has not been actually disabled). The SD card is being used as swap, but actually far as I can tell it's never used during a GCC build.

build kernel with o=<outside tree build failes issue 3.0.8

When trying to build Linux kernel by placing kernel object files outside tree the build fails with following error message:
CC drivers/video/jz4780-hdmi/api/api.o
Assembler messages:
Fatal error: can't create drivers/video/jz4780-hdmi/api/api.o: No such file or directory
make[6]: *** [drivers/video/jz4780-hdmi/api/api.o] Error 2

Command to replicate issue:
make ARCH=mips CROSS_COMPILE=mips-linux-gnu- uImage O=../build/kernel/

Workaround to continue building:
mkdir -p ../build/kernel/drivers/video/jz4780-hdmi/{api,bsp,core,edid,hdcp,phy,test,util}

Reliable crashes of nodejs

To repeat:

  • dist-upgrade to jessie
  • install nodejs (only available for mipsel in jessie)
  • run some nodejs scripts (For me the cjdns build: https://github.com/cjdelisle/cjdns ) is 100% reliable
  • observe "Bus error", segfault or unexpected fault in js code

This is not fixed by reducing the memory to 256M as per #18

kernel is missing brcmfmac4330 files required by ci20_defconfig

Tthe ci20_defconfig has

CONFIG_EXTRA_FIRMWARE="brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4330-sdio.txt"

neither file shows up when cloned and no directions for downloading them from elsewhere are on the wiki page.
This causes the compile to fail with unresolved dependancies.

kernel cannot be built directly on the ci20

Building on the ci20 requires several packages to be installed in the latest debian image

apt-get install bc u-boot-tools

and then

make -j3 ci20_defconfig uImage

When compiled on my ext4 uSD card it takes about a hour

Personally I don't like to do things like compiles on non-removable media.

If you want to use menuconfig add libncurses5-dev

If you want access to the NAND filesystem you will need to install mtd-utils for the ubiattach command unless you are using the NAND as the boot device.

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.