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