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 <javascript:>>:
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
<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
<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
<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
<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
<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
<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
Per TI's porting
Guide, the patch
is here :
http://processors.wiki.ti.com/images/6/6c/0001-HAL-camera-support-added-for-beagleboard.patch.gz
<http://processors.wiki.ti.com/images/6/6c/0001-HAL-camera-support-added-for-beagleboard.patch.gz>
Also per TI's
porting guide for
Froyo release the
patch should be
applied at
<ANDROID_ROOT>/hardware/ti/omap3/camera,
to check on your
android plateform
development source
code the V4L2 part.
4 - Re-build the
android system and
give a try
Hope this
clarified a little
bit for you.
Chinda
Le 08/09/2014
08:57, Việt Hoàng
a écrit :
i was stuck
there. But i
can'n find who
help me.
haizzzz. So sad.
Vào 17:15:55
UTC+7 Thứ hai,
ngày 23 tháng
sáu năm 2014,
Hao Nguyen đã
viết:
I am
working on
panther
board and
i want to
use hi253
camera
module in
my board.
I've read
porting
guide on
http://processors.wiki.ti.com/index.php/TI-Android-DevKit-Camera_Porting_Guide
<http://processors.wiki.ti.com/index.php/TI-Android-DevKit-Camera_Porting_Guide>
but i
didn't
still
understand. Can
anyone
give me
some
infomation
relate to
my
problems?
I have
recenty
worked on
embedded
kit so i
don't have
much
knowledge
about it.
Thanks for
reading!!
--
--
unsubscribe:
android-porti...@googlegroups.com
website:
http://groups.google.com/group/android-porting
<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-porti...@googlegroups.com.
For more
options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
------------------------------------------------------------------------
<http://www.avast.com/>
...
--
--
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
<mailto:android-porting+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce
que la protection avast! Antivirus est active.
http://www.avast.com
--
--
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.