Hi Ckkeo,
I comeback for fix that error. Now, no error relative with any V4L2 's 
IOCTL.
When i click camera app, i cannot get any error but no data from sensor. I 
certain: it had have data from sensor, i had measure clock from D0-D7, 
PCLK, HSYN, VSYNC. everything seems standardized with datasheet. I think it 
cannot get data beacause media pipeline. I change file config 
omap3_beagle_android_defconfig for disable video via USB by 
CONFIG_USB_VIDEO_CLASS = false. I get connect seem better: 
D/V4L2Camera( 1107): pads for entity 5=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): (2 OUTPUT) 
D/V4L2Camera( 1107): [5:1]===>[6:0]
D/V4L2Camera( 1107):     ACTIVE
D/V4L2Camera( 1107): [5:2]===>[7:0]
D/V4L2Camera( 1107):     INACTIVE 
D/V4L2Camera( 1107): [5:1]===>[10:0]
D/V4L2Camera( 1107):     INACTIVE 
D/V4L2Camera( 1107): [5:2]===>[13:0]
D/V4L2Camera( 1107):     ACTIVE
D/V4L2Camera( 1107): [5:2]===>[14:0]
D/V4L2Camera( 1107):     ACTIVE
D/V4L2Camera( 1107): [5:2]===>[15:0]
D/V4L2Camera( 1107):     ACTIVE

D/V4L2Camera( 1107): pads for entity 16=
D/V4L2Camera( 1107): (0 OUTPUT) 
D/V4L2Camera( 1107): [16:0]===>[5:0]
D/V4L2Camera( 1107):     ACTIVE
But that is not enough.
My issue is howto connect Sensor -> CCDC -> Device as configure media 
pipeline?
I search and find some advise are use media-ctl for that work, following 
link: 
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/537/t/155456
I will build media-ctl then copy file bin media-ctl to /system/bin/ of my 
filesystem.
Then, i can use media-ctl tool for configure media pipeline. 
I need some advise from you for that issue? 
Thank you very much,
Hoang Quoc Viet
Vào 03:04:24 UTC+7 Thứ Ba, ngày 18 tháng 11 năm 2014, ckkeo đã viết:
>
> Hi,
>
> Sorry for the late answer, I was working so hard on porting Lollipop.
>
> Related to:
> <<<
> E/V4L2Camera( 1110): StartStreaming: Unable to start capture: Broken pipe 
> E/CameraHardware( 1110): Camera StartStreaming fail: Broken pipe
> <<<
> Several issues may lead to this error:
>    1. The video streaming channel cannot be established with the HW. (I2C 
> or // data streaming issues)
>    2. Ioctl functions are not correctly implemented.
>    3. IPC failed between HAL and its dependent specific implementation.
>  
> Let's narrow down the problem and start with the driver level part:
>
> a. Check if the V4L2's IOCTL are implemented and supported VIDIOC_STREAMON 
> function.
> b. if all IOCTL functions are implemented then check within the 
> (VIDIOC_STREAMON) function if the video streaming channel has been 
> established with the HW correctly.
>
> Please attach your V4L2 drive code here for review. 
>
> Hope this help
> Chinda
>
> Le 05/11/2014 11:27, Việt Hoàng a écrit :
>  
>
> Hi cckeo,
> Thank you for last your reply,
> I get error as follow: 
> E/V4L2Camera( 1110): StartStreaming: Unable to start capture: Broken pipe 
> E/CameraHardware( 1110): Camera StartStreaming fail: Broken pipe
> When i posting driver hi253 camera, i get device /dev/video2. HAL Camera 
> can open device and read/write register on Camera. But i can't streaming 
> video.
> I attacted logboot.txt and logcat.txt. Please help me resolve my issue.
> Thanks,
> Hoang Quoc Viet.
> Vào 20:15:08 UTC+7 Thứ hai, ngày 27 tháng mười năm 2014, ckkeo đã viết: 
>
> Hi,
> Sorry for the late answer (holiday in France).
>
> Related to your questions:
>
> #1.  In your log file, I saw the message "omap3_init_camera successful!", 
> but I doubt about this message because if it is really successful then you 
> should able to register the sub i2c subdevice with V4l2 device driver. 
> Narrow down the problem by just comment out all the v4l2 staffs in the 
> platform layer, BUT make sur that all th Camera's ID information are set 
> correctly to see if the Device driver will be loaded (because in your log, 
> I don(t see any message from the camera device driver) by the system and 
> the probe function is called (add as much the printk to check). 
>
> There might have 2 potential reasons for your fails:
>
>        a. the Camera's gpios are incorrectly set.
>             Check the gpios settings.
>             Check the i2c has been configured appropriately for your 
> camera device (e.g type, index, clock, etc ...)
>   
>        b. the Camera has been initialized too early VS the v4l2 core layer 
> within the plat-form driver.
>             If this is the case then all the v4l2 registrations need to be 
> done in the Camara's "device driver" initialization and not in the platform.
>         
> #2. my comments are in the answer #1-b
>
> #3. The reason that you can't read/write is because the Device Driver has 
> not been loaded and initialized (check answer #1).
>
> #4. All your problems lead to the answer in #1.
>
> Tips:
> Don't hesitate to add as much printk in your code (on only just for the 
> status success/failed).
>
> Hope this help.
> Chinda
>
> Le 21/10/2014 02:30, Việt Hoàng a écrit :
>  
>  Thanks for your reply,
>  I have attached files include: hi253.c driver and hi253_log, 
> board-omap3beagle.c (file board config) and board-omap3beagle-camera.c 
> (file init camera).
>  1. My log give error: isp_register_subdev_group: Unable to register 
> subdev hi253
>  In isp.c file check board_info and give me this error:
>  subdev = v4l2_i2c_new_subdev_board(&isp->v4l2_int_device, adapter,
>                 board_info->board_info, NULL, 1);
>         if (subdev == NULL) {
>             printk(KERN_ERR "%s: Unable to register subdev %s\n",
>                 __func__, board_info->board_info->type);
>             continue;
>         }
>
>         if (first)
>             sensor = subdev;
>
>  2. hi253 driver use struct v4l2_int_device, i think convert to 
> v4l2_subdev. is it should done?
>  3. in hi253_write_reg function and hi253_read_reg, i can't read or write 
> to register of hi253. I don't have any solution for this. Please help me.
>  4. When i can sue i2c_tool get, set, dump, detect hi253 camera ? Only 
> support power and clock( MCLK=24Mhz), that i done but i don't use i2cdump, 
> i2cget, i2cset. It give error: Device bussy.
>  Thanks,
>  Viet.
>  
> 2014-10-20 17:38 GMT+07:00 ckkeo <ck...@neuf.fr>:
>
>  In order to help, Please provide more details and attach logs file???
>
> Meanwhile, you can check these below points:
>
>   1 - Does the platform layer apply the correct power level to all 
> sections of the Camera HW?
>   2 - Are all appropriated ID information (of the camera) being added to 
> the Device Driver, in order, for the "probe" routine  to correctly detecte 
> and intialize the HW. 
>   3 - Does the Firmeware (if any) have been downloaded successfully into 
> the HW.
>   4 - And finally check if the Device Drive has been successfully loaded 
> by the kernel and the driver has initialized the HW without any errors.
>
> Chinda
>
> Le 19/10/2014 10:24, Việt Hoàng a écrit :
>  
>  Hi cckeo,
> I have tried to use i2c-tool for detect, get, set register on hi253 camera 
> but it not work. I use this patch for add hi253 Camera on kernel configure: 
> https://gitorious.org/angstrom/angstrom-linux/commit/046dac666301c0df22679424169675045c70defd
> Why i can't detect Camera sensor although i have supported Power sequence, 
> MCLK (24MHz) for it ?
>
>
> Vào 21:27:52 UTC+7 Thứ năm, ngày 18 tháng chín năm 2014, ckkeo đã viết: 
>
> Check the 3 points below:
>
> a- Your camera driver source code came from hi253 and have been patched 
> against <kernel>/drivers/media/<where, which file>? 
>      You have to look for the "device node" in this code, the HAL layer 
> will need it to open and access to the Hi253 device driver.
>    
> b- Your plateform driver (in <kernel>/arch/arm/mach-omap2/xxxxx.c) has 
> been patched:
>      Check all gpios are correctly mapped for the Hi253.
>      Based on your Ti doc for the panther plateform, the i2c should be OK, 
> but you have to check the schematic for the // bus part.
>
> c - You can start implementing the Hi253 HAL layer inspiring from mt9v113 
> source code:
>      - Open the correct V4L2 device node (check how the device driver (#a) 
> is set for it).
>      - Open/Close/Read/Write on V4L2 are quite standard, but NOT the ops 
> (ioctl) which should be handle according to the Hi253 specifications in the 
> camera HAL interface.
>
>  Hope this point you to the right direction.
> Chinda
>
> Le jeudi 18 septembre 2014 03:42:52 UTC+2, Việt Hoàng a écrit : 
>
> Hi cckeo,
> I don't have hi253 HAL code. I am editing Camera HAL code that supported 
> by TI (or Jorjin, i uncertain): 
> http://59.124.231.13/index.php/JAJ_1.0.DEV04_AP_Module_AM37_Jelly_Bean_Release_Notes.
>  
> On folder <panther-bsp>/hardware/ti/omap3/camera.
> But i am stucking in here. I am reading and trying to understand code but 
> it is difficult with me. Thanks for your share.
> Do you have other idea?
> Thanks,
> Do your best, the rest you come!
> Hoang Quoc Viet.
>
> Vào 21:47:10 UTC+7 Thứ tư, ngày 17 tháng chín năm 2014, chinda keodouangsy 
> đã viết: 
>
>  OK, your hi253 driver seems to intialize and drive correctly the i2c and 
> the // data bus.
> Can you show me your hi253 HAL code? Do you have it?
>
>
> Le 16/09/2014 05:07, Việt Hoàng a écrit :
>  
>  
>  
> <https://lh3.googleusercontent.com/-wyyLIhgNriU/VBel5J7DGlI/AAAAAAAAAFs/UOuw9H1deCU/s1600/cameraConnecttor.jpg>
> Thanks for your reply!
> 1. Here this connector I used. Hi253 Camera connect with DM3730 AP Module 
> through I2C Bus and Parallel Interface (CAM D2,...,CAM D9) as above image. 
> 2. Here Source code Hi253 Driver that I use: 
> https://github.com/allwinner-ics/lichee_linux-3.0/blob/master/drivers/media/video/sun4i_csi/device/hi253.c
> Have you give me any advise?
>
> Vào 10:00:55 UTC+7 Thứ hai, ngày 15 tháng chín năm 2014, chinda 
> keodouangsy đã viết: 
>
>  That's lead to the question I've asked before, as there are some Hardware 
> dependencies: 
>         -   *** How do you connect the hi253 camera to your board?  
>            Check the vendor document to know on which bus (USB, PCI or 
> i2c) the hi253 used to connect to the system. 
>            Normally the hi253 code should help you to identify the bus 
> used to connect to the system. 
>
>  What is for sure is that the mt9v113 does use i2c bus to connect to the 
> system (e.g. your board). 
>
>
>
>
>
> Le 12/09/2014 09:50, Việt Hoàng a écrit :
>  
> I have checked existing HAL camera on Link that I posted. But on file: 
> V4L2camera.cpp only support 3 sensor camera: mt9v113, mt9t111, tvp514x. 
> 1 - On hi253 driver, it register with v4l2 interface with funtion: 
>         - v4l2_int_device_register(&hi253_int_device);
> 2 - On mt9v113 driver, it register with v4l2 inter with 2 functions:
>         - /*
>      * Register as a subdev
>      */
>     v4l2_i2c_subdev_init(&mt9v113->subdev, client, &mt9v113_ops);
>     mt9v113->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
>
>     /*
>      * Register as media entity
>      */
>     mt9v113->pad.flags = MEDIA_PAD_FLAG_OUTPUT;
>     ret = media_entity_init(&mt9v113->subdev.entity, 1, &mt9v113->pad, 0); 
> f
> I don't understand about this different. I am stucking here. Can you show 
> me a solution?
> Vào 23:35:40 UTC+7 Thứ ba, ngày 09 tháng chín năm 2014, ckkeo đã viết: 
>
>  I just answered your other thread!
>
> Did you have any camera comes with your board today?
>
> Check and locate your existing HAL camera source code. (i.e. Did you see 
> any camera folder within the <panther-bsp>/hardware folder ?)
> Sure that it's better if you can get the HAL code from the vendor. (make 
> sure that the HAL can drive the V4L2 driver).
>
> Chinda
>
>
> Le 09/09/2014 11:04, Việt Hoàng a écrit :
>  
> Thank you verry much!
> I am clearly steps in integrate process.
> I was success re-build kernel that add hi-253 driver. But i don't 
> understand about:
>
>  1 -  Is Hi-253 driver compatibility with HAL camera at patch: 
> http://processors.wiki.ti.com/images/6/6c/0001-HAL-camera-support-added-for-beagleboard.patch.gz
> or i have to contact with vendors for HAL camera?
> Thank you!
>
> Regards,
> VietHQ
> Do your best, the rest you come!
>
> Vào 04:04:40 UTC+7 Thứ ba, ngày 09 tháng chín năm 2014, ckkeo đã viết: 
>
>  In clear you have to do these below steps:
>
> -------------------------  
> The kernel part
> ------------------------
> 1 - Integrate the hi253 device driver into your Panther board kernel
>       a - Add the driver source code to your kernel
>       b - Configure OMAP to recognize your hi253 camera
>       c - Enable the Camera Module to your kernel config
>    
>      The patch for these steps have been provided in the TI's porting 
> guide at this link : 
> http://processors.wiki.ti.com/images/a/aa/0001-camera-sensor-support-mt9v113-for-beagleboard.patch.gz
>      All you have to do is apply the patch to your kernel.
>
> 2 - Re-build your kernel 
>
>     You can refer to this link for How to build the kernel : 
> http://processors.wiki.ti.com/index.php/TI-Android-FroYo-DevKit-V2_UserGuide#Kernel
>
> ----------------------
> android part
> ---------------------
> 3 - Add the Camera HAL interface to your android plateform
>
>  ...

-- 
-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

--- 
You received this message because you are subscribed to the Google Groups 
"android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-porting+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
1. First, no change i get log:
D/V4L2Camera( 1104): Open!
D/V4L2Camera( 1104): Open_media_device
D/V4L2Camera( 1104): Media entity Index of CCDC 5
D/V4L2Camera( 1104): Da check dung CCDC HI253
D/V4L2Camera( 1104): Da check dung entity HI253
D/V4L2Camera( 1104): Media entity index of HI253 16
D/V4L2Camera( 1104): pads for entity 1=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): (1 OUTPUT) 
D/V4L2Camera( 1104): [1:1]===>[5:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 2=
D/V4L2Camera( 1104): (0 OUTPUT) 
D/V4L2Camera( 1104): [2:0]===>[1:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 3=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): (1 OUTPUT) 
D/V4L2Camera( 1104): [3:1]===>[4:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): [3:1]===>[5:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 4=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 5=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): (1 OUTPUT) 
D/V4L2Camera( 1104): (2 OUTPUT) 
D/V4L2Camera( 1104): [5:1]===>[6:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): [5:2]===>[7:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): [5:1]===>[10:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): [5:2]===>[13:0]
D/V4L2Camera( 1104):    ACTIVE
D/V4L2Camera( 1104): [5:2]===>[14:0]
D/V4L2Camera( 1104):    ACTIVE
D/V4L2Camera( 1104): [5:2]===>[15:0]
D/V4L2Camera( 1104):    ACTIVE
D/V4L2Camera( 1104): pads for entity 6=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 7=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): (1 OUTPUT) 
D/V4L2Camera( 1104): [7:1]===>[9:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): [7:1]===>[10:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 8=
D/V4L2Camera( 1104): (0 OUTPUT) 
D/V4L2Camera( 1104): [8:0]===>[7:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 9=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 10=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): (1 OUTPUT) 
D/V4L2Camera( 1104): [10:1]===>[12:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 11=
D/V4L2Camera( 1104): (0 OUTPUT) 
D/V4L2Camera( 1104): [11:0]===>[10:0]
D/V4L2Camera( 1104):    INACTIVE 
D/V4L2Camera( 1104): pads for entity 12=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 13=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 14=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 15=
D/V4L2Camera( 1104): (0 INPUT) 
D/V4L2Camera( 1104): pads for entity 16=
D/V4L2Camera( 1104): (0 OUTPUT) 
D/V4L2Camera( 1104): [16:0]===>[5:0]
D/V4L2Camera( 1104):    INACTIVE 

2. configure media pipeline
- file omap3_beagle_android_defconfig: comment as #CONFIG_USB_VIDEO_CLASS=y, i 
get log as:

D/V4L2Camera( 1107): Open_media_device
D/V4L2Camera( 1107): Media entity Index of CCDC 5
D/V4L2Camera( 1107): Da check dung CCDC HI253
D/V4L2Camera( 1107): Da check dung entity HI253
D/V4L2Camera( 1107): Media entity index of HI253 16
D/V4L2Camera( 1107): pads for entity 1=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): [1:1]===>[5:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 2=
D/V4L2Camera( 1107): (0 OUTPUT) 
D/V4L2Camera( 1107): [2:0]===>[1:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 3=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): [3:1]===>[4:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): [3:1]===>[5:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 4=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 5=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): (2 OUTPUT) 
D/V4L2Camera( 1107): [5:1]===>[6:0]
D/V4L2Camera( 1107):    ACTIVE
D/V4L2Camera( 1107): [5:2]===>[7:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): [5:1]===>[10:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): [5:2]===>[13:0]
D/V4L2Camera( 1107):    ACTIVE
D/V4L2Camera( 1107): [5:2]===>[14:0]
D/V4L2Camera( 1107):    ACTIVE
D/V4L2Camera( 1107): [5:2]===>[15:0]
D/V4L2Camera( 1107):    ACTIVE
D/V4L2Camera( 1107): pads for entity 6=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 7=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): [7:1]===>[9:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): [7:1]===>[10:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 8=
D/V4L2Camera( 1107): (0 OUTPUT) 
D/V4L2Camera( 1107): [8:0]===>[7:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 9=
D/ActivityBase( 1795): set CameraRelativeFrame as Rect(0, 0 - 912, 684)
D/PhotoView( 1795): compensation = 0, CameraRelativeFrame = Rect(0, 0 - 912, 
684), mCameraRect = Rect(0, 0 - 912, 684)
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 10=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): (1 OUTPUT) 
D/V4L2Camera( 1107): [10:1]===>[12:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 11=
D/V4L2Camera( 1107): (0 OUTPUT) 
D/V4L2Camera( 1107): [11:0]===>[10:0]
D/V4L2Camera( 1107):    INACTIVE 
D/V4L2Camera( 1107): pads for entity 12=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 13=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 14=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 15=
D/V4L2Camera( 1107): (0 INPUT) 
D/V4L2Camera( 1107): pads for entity 16=
D/V4L2Camera( 1107): (0 OUTPUT) 
D/V4L2Camera( 1107): [16:0]===>[5:0]
D/V4L2Camera( 1107):    ACTIVE


Reply via email to