OpenIPC / firmware

Alternative IP Camera firmware from an open community
https://openipc.org
MIT License
1.21k stars 232 forks source link

Use SENSOR environment variable to specify it explicitly. #1003

Closed duchengyao closed 11 months ago

duchengyao commented 11 months ago

I have T31X with sensor GC4023.

/usr/bin/majestic

11:22:16  <       majestic> [    main] main@123                      Majestic Lite for Ingenic, version master+846fc60, built on 2023-09-18
11:22:16  <       majestic> [app_conf] load_config@106               Using /etc/majestic.yaml as main configuration
11:22:16  <       majestic> [watchdog] watchdog_start@101            Detected jz Watchdog
11:22:16  <       majestic> [watchdog] watchdog_start@121            Watchdog timeout set to 10 seconds
11:22:17  <       majestic> [sns_conf] try_sensor_config@25          sensor autodetection failed
11:22:17  <       majestic> [sns_conf] try_sensor_config@26          Use SENSOR environment variable to specify it explicitly.
11:22:17  <       majestic> [    main] main@209                      Shutdown main thread

I find sensor_gc4023_t31.ko in source, but not in my device :

find / |grep sensor_gc

/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc2053_t31.ko
/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc2083_t31.ko
/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc4653_t31.ko
/rom/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc2053_t31.ko
/rom/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc2083_t31.ko
/rom/lib/modules/3.10.14__isvp_swan_1.0__/extra/sensor_gc4653_t31.ko
/root/sensor_gc4023_t31.ko

Why are there only some part of ko files in the device?

How to load sensor_gc4023_t31.ko to kernel, simply upload to /lib/modules/3.10.14__isvp_swan_1.0__/extra/ and /rom/lib/modules/3.10.14__isvp_swan_1.0__/extra/ ?

BTW: What's difference between /lib/modules/3.10.14__isvp_swan_1.0__/extra/ and /rom/lib/modules/3.10.14__isvp_swan_1.0__/extra/?

Thanks!

duchengyao commented 11 months ago

May be I should create bin and yaml file in ingenic-osdrv-t31/files/sensor

  1. How to get address of yaml like

https://github.com/OpenIPC/firmware/blob/a5ec76b3386d70008540ddfc8c1006fd7c2806a5/general/package/ingenic-osdrv-t31/files/sensor/gc2053.yaml#L3

  1. Is there some method to create bin file?
themactep commented 11 months ago

https://github.com/OpenIPC/openingenic/tree/master/kernel/sensors/t31/gc4023

GC4023 is a part of openingenic package, you just need to adjust makefile so that this module is installed along with others.

https://github.com/OpenIPC/openingenic/blob/04774c2d3f043b91baab1a5260560ec1a8cf6101/kernel/Kbuild#L25

duchengyao commented 11 months ago

Wow, Thanks !!

duchengyao commented 11 months ago

@themactep

I build new image and flashed.

It might need bin and yaml file in /etc/sensor. How to create this two file ?

13:05:25  <       majestic> [    main] main@123                      Majestic Lite for Ingenic, version master+de15c35, built on 2023-09-21
13:05:25  <       majestic> [app_conf] load_config@106               Using /etc/majestic.yaml as main configuration
13:05:25  <       majestic> [watchdog] watchdog_start@101            Detected jz Watchdog
13:05:25  <       majestic> [watchdog] watchdog_start@121            Watchdog timeout set to 10 seconds
13:05:25  <       majestic> [sns_conf] try_sensor_config@13          SENSOR=gc4023
13:05:25  <       majestic> [sns_conf] load_sensor_config@69         Can't find config file under paths:
13:05:25  <       majestic> [sns_conf] load_sensor_config@71            
13:05:25  <       majestic> [sns_conf] load_sensor_config@71            /etc/sensors/
13:05:25  <       majestic> [sns_conf] load_sensor_config@71            /etc/sensor/
13:05:25  <       majestic> [    main] main@209                      Shutdown main thread
themactep commented 11 months ago

Get .bin file from your stock fw and create a .yaml config copying one from another sensor as template. Try address 0x29, that is what i see in the driver source. https://github.com/OpenIPC/openingenic/blob/04774c2d3f043b91baab1a5260560ec1a8cf6101/kernel/sensors/t31/gc4023/gc4023.c#L225 Resolution is 2560x1440 at 25fps.

cronyx commented 11 months ago

gc4023-t31.bin required from stock firmware. Create PR and add his to osdv if possible. Thanks.

duchengyao commented 11 months ago

I added gc4023-t31.bin gc4023.yaml but autodetection failed:

root@openipc-t31:~# majestic 
16:51:08  <       majestic> [    main] main@123                      Majestic Lite for Ingenic, version master+c744d1f, built on 2023-09-22
16:51:08  <       majestic> [app_conf] load_config@110               Using /etc/majestic.yaml as main configuration
16:51:08  <       majestic> [watchdog] watchdog_start@101            Detected jz Watchdog
16:51:08  <       majestic> [watchdog] watchdog_start@121            Watchdog timeout set to 10 seconds
16:51:08  <       majestic> [sns_conf] try_sensor_config@25          sensor autodetection failed
16:51:08  <       majestic> [sns_conf] try_sensor_config@26          Use SENSOR environment variable to specify it explicitly.
16:51:08  <       majestic> [    main] main@209                      Shutdown main thread

I added sensor environment using fw_setenv and reboot, raise chip found @ 0x29 (i2c0) is not an gc4023 chip.

majestic:

root@openipc-t31:~# majestic 
16:53:53  <       majestic> [    main] main@123                      Majestic Lite for Ingenic, version master+c744d1f, built on 2023-09-22
16:53:53  <       majestic> [app_conf] load_config@110               Using /etc/majestic.yaml as main configuration
16:53:53  <       majestic> [watchdog] watchdog_start@101            Detected jz Watchdog
16:53:53  <       majestic> [watchdog] watchdog_start@121            Watchdog timeout set to 10 seconds
16:53:53  <       majestic> [sns_conf] try_sensor_config@13          SENSOR=gc4023
16:53:53  <       majestic> [sns_conf] load_sensor_config@44         Using /etc/sensor/gc4023.yaml as sensor config
16:53:53  <       majestic> [sns_conf] parse_sensor_config@125       VI: gc4023 @ 0x29 [2560x1440]
16:53:53  <       majestic> [     sdk] start_sdk@1247                CPU T31-X, SDK SYSUTILS-1.1.6, model Swan, devID 96040006
16:53:53  <       majestic> [     sdk] imp_system_init@335           failed to AddSensor [gc4023]
16:53:53  <       majestic> [     sdk] start_sdk@1348                IMP_System_Init() failed
16:53:53  <       majestic> [    main] main@209                      Shutdown main thread

dmesg

root@openipc-t31:~# dmesg
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.14__isvp_swan_1.0__ (s1nh@s1nh-home) (buildroot-gcc-12.2.0) #2 PREEMPT Sun Sep 24 00:19:38 CST 2023
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 RESET ERROR PC:801BC444
[    0.000000] [<801bc444>] __delay+0x4/0x10
[    0.000000] CPU0 revision is: 00d00100 (Ingenic Xburst)
[    0.000000] FPU revision is: 00b70000
[    0.000000] cgu_get_rate, parent = 1392000000, rate = 0, m = 129, n = 255, reg val = 0x081000ff
[    0.000000] cgu_get_rate, parent = 1392000000, rate = 0, m = 129, n = 255, reg val = 0x081000ff
[    0.000000] CCLK:1392MHz L2CLK:696Mhz H0CLK:200MHz H2CLK:200Mhz PCLK:100Mhz
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 0053a000 @ 00010000 (usable)
[    0.000000]  memory: 00036000 @ 0054a000 (usable after init)
[    0.000000] User-defined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x03ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x03ffffff]
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat 80548030, node_mem_map 81000000
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    0.000000] Primary instruction cache 32kB, 8-way, VIPT, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 8-way, VIPT, no aliases, linesize 32 bytes
[    0.000000] pls check processor_id[0x00d00100],sc_jz not support!
[    0.000000] MIPS secondary cache 128kB, 8-way, linesize 32 bytes.
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16256
[    0.000000] Kernel command line: mem=64M rmem=64M@0x4000000 console=ttyS1,115200n8 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=jz_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 58896k/65536k available (4006k kernel code, 6640k reserved, 1342k data, 216k init, 0k highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:358
[    0.000000] clockevents_config_and_register success.
[    0.000014] Calibrating delay loop... 1391.00 BogoMIPS (lpj=6955008)
[    0.087832] pid_max: default: 32768 minimum: 301
[    0.092688] Mount-cache hash table entries: 512
[    0.097592] Initializing cgroup subsys debug
[    0.101849] Initializing cgroup subsys freezer
[    0.107253] devtmpfs: initialized
[    0.111990] regulator-dummy: no parameters
[    0.116360] NET: Registered protocol family 16
[    0.123838] Skipping MSC1_PB GPIO setup
[    0.127719] Skipping WYZE GPIO setup
[    0.131266] Skipping WYZE GPIO setup
[    0.135477] set gpio strength: 32-2
[    0.135486] set gpio strength: 33-2set gpio strength: 34-2
[    0.135496] set gpio strength: 35-2set gpio strength: 36-2
[    0.135504] set gpio strength: 37-2set gpio pull: 59-90
[    0.153318] bio: create slab <bio-0> at 0
[    0.163103] jz-dma jz-dma: JZ SoC DMA initialized
[    0.169365] usbcore: registered new interface driver usbfs
[    0.175020] usbcore: registered new interface driver hub
[    0.180851] usbcore: registered new device driver usb
[    0.186396]  (null): set:249  hold:250 dev=100000000 h=500 l=500
[    0.194079] Switching to clocksource jz_clocksource
[    0.201285] dwc2 otg probe start
[    0.201312] jz-dwc2 jz-dwc2: cgu clk gate get error
[    0.206294] DWC IN OTG MODE
[    0.209999] dwc2 dwc2: Keep PHY ON
[    0.213368] dwc2 dwc2: Using Buffer DMA mode
[    0.217696] dwc2 dwc2: Core Release: 3.00a
[    0.221977] dwc2 dwc2: DesignWare USB2.0 High-Speed Host Controller
[    0.228270] dwc2 dwc2: new USB bus registered, assigned bus number 1
[    0.235707] hub 1-0:1.0: USB hub found
[    0.239521] hub 1-0:1.0: 1 port detected
[    0.243521] dwc2 dwc2: DWC2 Host Initialized
[    0.247804] dwc2 otg probe success
[    0.248043] NET: Registered protocol family 2
[    0.252905] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[    0.259920] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[    0.266291] TCP: Hash tables configured (established 512 bind 512)
[    0.272662] TCP: reno registered
[    0.275856] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.281817] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.288320] NET: Registered protocol family 1
[    0.292914] RPC: Registered named UNIX socket transport module.
[    0.298842] RPC: Registered udp transport module.
[    0.303654] RPC: Registered tcp transport module.
[    0.308376] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.315489] freq_udelay_jiffys[0].max_num = 10
[    0.319978] cpufreq  udelay  loops_per_jiffy
[    0.324336] dwc2 dwc2: ID PIN CHANGED!
[    0.328162] 12000     59956   59956
[    0.331418] 24000     119913  119913
[    0.334834] 60000     299784  299784
[    0.338278] 120000    599569  599569
[    0.341890] 200000    999282  999282
[    0.345342] 300000    1498924         1498924
[    0.349152] 600000    2997848         2997848
[    0.352780] 792000    3957159         3957159
[    0.356488] 1008000   5036385         5036385
[    0.360316] 1200000   5995696         5995696
[    0.373781] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.380888] jffs2: version 2.2. �© 2001-2006 Red Hat, Inc.
[    0.386936] msgmni has been set to 115
[    0.391984] io scheduler noop registered
[    0.395914] io scheduler cfq registered (default)
[    0.407419] jz-uart.1: ttyS1 at MMIO 0x10031000 (irq = 58) is a uart1
[    0.415044] console [ttyS1] enabled, bootconsole disabled
[    0.434712] brd: module loaded
[    0.442262] loop: module loaded
[    0.445731] logger: created 256K log 'log_main'
[    0.452570] jz TCU driver register completed
[    0.457902] the id code = 204017, the flash name is XM25QH64C
[    0.464068] JZ SFC Controller for SFC channel 0 driver register
[    0.470334] 5 cmdlinepart partitions found on MTD device jz_sfc
[    0.476448] Creating 5 MTD partitions on "jz_sfc":
[    0.481436] 0x000000000000-0x000000040000 : "boot"
[    0.487387] 0x000000040000-0x000000050000 : "env"
[    0.493347] 0x000000050000-0x000000250000 : "kernel"
[    0.499626] 0x000000250000-0x000000750000 : "rootfs"
[    0.505752] 0x000000750000-0x000000800000 : "rootfs_data"
[    0.512420] SPI NOR MTD LOAD OK
[    0.515874] Bus Mode Reg after reset: 0x00020101, cnt=0
[    0.524944] libphy: jz_mii_bus: probed
[    0.529010] =======>gmacdev = 0x821e7000<================
[    0.534768] =========>gmacdev->MacBase = 0xb34b0000 DmaBase = 0xb34b1000
[    0.541762] Bus Mode Reg after reset: 0x00020101, cnt=0
[    0.548858] jz_mac jz_mac.0: JZ on-chip Ethernet MAC driver, Version 1.0
[    0.556030] STA : @@@@@@ rtusb init rt2870 --->
[    0.560935] usbcore: registered new interface driver rt2870
[    0.566690] i2c /dev entries driver
[    0.571545] jzmmc_v1.2 jzmmc_v1.2.0: vmmc regulator missing
[    0.577628] jzmmc_v1.2 jzmmc_v1.2.0: register success!
[    0.583046] jzmmc_v1.2 jzmmc_v1.2.1: vmmc regulator missing
[    0.589133] jzmmc_v1.2 jzmmc_v1.2.1: register success!
[    0.594917] ipip: IPv4 over IPv4 tunneling driver
[    0.600478] TCP: cubic registered
[    0.604916] NET: Registered protocol family 10
[    0.610413] NET: Registered protocol family 17
[    0.616212] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    0.623686] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    0.634610] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    0.644024] devtmpfs: mounted
[    0.647380] Freeing unused kernel memory: 216K (8054a000 - 80580000)
[    1.069092] jzmmc_v1.2 jzmmc_v1.2.0: card inserted, state=0
[    1.106980] jffs2: notice: (452) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    1.520590] [resetd] GPIO undefined in /usr/sbin/resetd
[    1.769382] Bus Mode Reg after reset: 0x00020101, cnt=0
[    4.539207] libphy: 0:00 - Link is Up - 100/Full
[    8.036361] @@@@ tx-isp-probe ok(version H20221206a), compiler date=Dec  6 2022 @@@@@
[    7.521551] "echo 1 > enable" or "echo 0 > enable " 
[    8.078777] request spk en gpio 63 ok!
[    8.078789] jz_codec_register: probe() successful!
[    8.078872] cgu_set_rate, parent = 1392000000, rate = 2048000, n = 10875, reg val = 0x01002a7b
[    8.078881] cgu_enable,cgu_i2s_spk reg val = 0x21002a7b
[    8.078897] cgu_set_rate, parent = 1392000000, rate = 2048000, n = 10875, reg val = 0x01002a7b
[    8.078905] cgu_enable,cgu_i2s_mic reg val = 0x21002a7b
[    8.479272] dma dma0chan24: Channel 24 have been requested.(phy id 7,type 0x06 desc a27e1000)
[    8.479560] dma dma0chan25: Channel 25 have been requested.(phy id 6,type 0x06 desc a07c2000)
[    8.479880] dma dma0chan26: Channel 26 have been requested.(phy id 5,type 0x04 desc a07ee000)
[    8.506397] Ingenic GPIO claim module (c) OpenIPC.org
[    9.491027] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.491045] i2c i2c-0: --I2C txabrt:
[    9.491054] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.491231] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.491240] i2c i2c-0: --I2C txabrt:
[    9.491248] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.491423] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.491469] i2c i2c-0: --I2C txabrt:
[    9.491478] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.491655] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.491664] i2c i2c-0: --I2C txabrt:
[    9.491673] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.491847] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.491858] i2c i2c-0: --I2C txabrt:
[    9.491867] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.492041] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.492051] i2c i2c-0: --I2C txabrt:
[    9.492059] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.492233] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.492244] i2c i2c-0: --I2C txabrt:
[    9.492252] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.492427] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.492436] i2c i2c-0: --I2C txabrt:
[    9.492444] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.492618] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.492629] i2c i2c-0: --I2C txabrt:
[    9.492637] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.492811] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.492821] i2c i2c-0: --I2C txabrt:
[    9.492830] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493005] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493015] i2c i2c-0: --I2C txabrt:
[    9.493024] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493199] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493207] i2c i2c-0: --I2C txabrt:
[    9.493215] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493389] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493400] i2c i2c-0: --I2C txabrt:
[    9.493409] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493582] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493593] i2c i2c-0: --I2C txabrt:
[    9.493601] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493774] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493783] i2c i2c-0: --I2C txabrt:
[    9.493791] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.493965] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.493976] i2c i2c-0: --I2C txabrt:
[    9.493984] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.494158] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.494169] i2c i2c-0: --I2C txabrt:
[    9.494177] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.494350] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.494361] i2c i2c-0: --I2C txabrt:
[    9.494369] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.494543] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.494553] i2c i2c-0: --I2C txabrt:
[    9.494561] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.574038] wait stable.[366][cgu_cim]
[    9.574054] wait stable.[289][cgu_cim]
[    9.574062] probe ok ------->gc4023
[    9.639227] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[    9.639242] i2c i2c-0: --I2C txabrt:
[    9.639250] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[    9.639270] -----gc4023_detect: 487 ret = -5, v = 0x00
[    9.639278] chip found @ 0x29 (i2c0) is not an gc4023 chip.
[    9.639289] CPU: 0 PID: 762 Comm: majestic Tainted: G           O 3.10.14__isvp_swan_1.0__ #2
[    9.639295] Stack : 00000000 00000000 00000000 00000000 8058316a 00000051 30001c01 80580000
[    9.639295]    8049e04c 82058898 80508bc7 80582904 000002fa 803efd64 c0360000 c0360000
[    9.639295]    c035c544 803efd9c 00000000 800371fc 00000002 0000002a 8049f9bc 81473ce4
[    9.639295]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    9.639295]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 81473c70
[    9.639295]    ...
[    9.639373] Call Trace:
[    9.639386] [<8001fdf4>] show_stack+0x58/0x70
[    9.639547] [<c023c078>] isp_printf+0x78/0x90 [tx_isp_t31]
[    9.639705] [<c035c838>] gc4023_g_chip_ident+0x1a8/0x2b0 [sensor_gc4023_t31]
[    9.639862] [<c02404c8>] subdev_sensor_ops_ioctl+0x2dc/0x564 [tx_isp_t31]
[    9.640172] [<c02a2588>] ispcore_sensor_ops_ioctl+0x68/0xb8 [tx_isp_t31]
[    9.640487] [<c024a178>] tx_isp_unlocked_ioctl+0x4dc/0x182c [tx_isp_t31]
[    9.640648] [<800e3b70>] vfs_ioctl+0x30/0x48
[    9.640653] 
[   22.590271] "echo 1 > enable" or "echo 0 > enable " 
[   22.590541] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.590557] i2c i2c-0: --I2C txabrt:
[   22.590567] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.590744] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.590753] i2c i2c-0: --I2C txabrt:
[   22.590762] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.590937] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.590959] i2c i2c-0: --I2C txabrt:
[   22.590968] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.591144] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.591153] i2c i2c-0: --I2C txabrt:
[   22.591161] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.591335] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.591347] i2c i2c-0: --I2C txabrt:
[   22.591355] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.591529] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.591538] i2c i2c-0: --I2C txabrt:
[   22.591547] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.591720] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.591731] i2c i2c-0: --I2C txabrt:
[   22.591739] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.591915] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.591926] i2c i2c-0: --I2C txabrt:
[   22.591934] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.592108] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.592117] i2c i2c-0: --I2C txabrt:
[   22.592125] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.592299] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.592310] i2c i2c-0: --I2C txabrt:
[   22.592319] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.592493] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.592505] i2c i2c-0: --I2C txabrt:
[   22.592513] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.592689] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.592697] i2c i2c-0: --I2C txabrt:
[   22.592705] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.592879] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.592888] i2c i2c-0: --I2C txabrt:
[   22.592896] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.593069] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.593081] i2c i2c-0: --I2C txabrt:
[   22.593089] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.593263] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.593272] i2c i2c-0: --I2C txabrt:
[   22.593280] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.593455] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.593465] i2c i2c-0: --I2C txabrt:
[   22.593474] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.593647] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.593657] i2c i2c-0: --I2C txabrt:
[   22.593665] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.593838] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.593849] i2c i2c-0: --I2C txabrt:
[   22.593857] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.594031] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.594041] i2c i2c-0: --I2C txabrt:
[   22.594050] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.611803] probe ok ------->gc4023
[   22.679229] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt
[   22.679243] i2c i2c-0: --I2C txabrt:
[   22.679252] i2c i2c-0: --I2C TXABRT[0]=I2C_TXABRT_ABRT_7B_ADDR_NOACK
[   22.679272] -----gc4023_detect: 487 ret = -5, v = 0x00
[   22.679280] chip found @ 0x29 (i2c0) is not an gc4023 chip.
[   22.679291] CPU: 0 PID: 780 Comm: majestic Tainted: G           O 3.10.14__isvp_swan_1.0__ #2
[   22.679297] Stack : 00000000 00000000 00000000 00000000 8058316a 00000051 30001c01 80580000
[   22.679297]    8049e04c 8205b118 80508bc7 80582904 0000030c 803efd64 c0360000 c0360000
[   22.679297]    c035c544 803efd9c 00000000 800371fc 00000002 0000002a 8049f9bc 81713ce4
[   22.679297]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   22.679297]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 81713c70
[   22.679297]    ...
[   22.679375] Call Trace:
[   22.679389] [<8001fdf4>] show_stack+0x58/0x70
[   22.679549] [<c023c078>] isp_printf+0x78/0x90 [tx_isp_t31]
[   22.679707] [<c035c838>] gc4023_g_chip_ident+0x1a8/0x2b0 [sensor_gc4023_t31]
[   22.679864] [<c02404c8>] subdev_sensor_ops_ioctl+0x2dc/0x564 [tx_isp_t31]
[   22.680175] [<c02a2588>] ispcore_sensor_ops_ioctl+0x68/0xb8 [tx_isp_t31]
[   22.680490] [<c024a178>] tx_isp_unlocked_ioctl+0x4dc/0x182c [tx_isp_t31]
[   22.680651] [<800e3b70>] vfs_ioctl+0x30/0x48
[   22.680657]