* saa711x doesn't match in easycap devices (stk1160 bridged)
@ 2012-12-28 14:13 Ezequiel Garcia
2012-12-29 14:25 ` Ezequiel Garcia
0 siblings, 1 reply; 4+ messages in thread
From: Ezequiel Garcia @ 2012-12-28 14:13 UTC (permalink / raw)
To: linux-media
Hi everyone,
Some stk1160 users (a lot acually) are reporting that stk1160 is broken.
The reports come in the out of tree driver [1], but probably the issue
is in mainline too.
Now, it seems to me the problem is the saa711x decoder can't get matched,
see a portion of dmesg.
[89947.448813] usb 1-2.4: New device Syntek Semiconductor USB 2.0
Video Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
[89947.448827] usb 1-2.4: video interface 0 found
[89948.200366] saa7115 21-0025: chip found @ 0x4a (ID 000000000000000)
does not match a known saa711x chip.
[89948.200555] stk1160: driver ver 0.9.3 successfully loaded
[...]
I'm working on this right now, but would like to know, given the ID
seems to be NULL,
what would be the right thing to do here.
Perhaps, replacing the -ENODEV error by a just warning and keep going?
Further debugging [2] shows the chip doesn't seem to have a proper
chipid (as expected):
[ 304.059917] stk1160_i2c_xfer: addr=4a
[ 304.084238] OK
[ 304.084483] stk1160_i2c_xfer: addr=4a
[ 304.084498] subaddr=0 write=0
[ 304.108254] OK
[ 304.108276] stk1160_i2c_xfer: addr=4a
[ 304.108286] subaddr=0
[ 304.132367] read=10
[ 304.132378] OK
[ 304.132394] stk1160_i2c_xfer: addr=4a
[ 304.132403] subaddr=0 write=1
[ 304.156269] OK
[ 304.156288] stk1160_i2c_xfer: addr=4a
[ 304.156297] subaddr=0
[ 304.180490] read=10
[ 304.180500] OK
[ 304.180514] stk1160_i2c_xfer: addr=4a
[ 304.180523] subaddr=0 write=2
[ 304.204249] OK
[ 304.204268] stk1160_i2c_xfer: addr=4a
[ 304.204276] subaddr=0
[ 304.228365] read=10
[ 304.228374] OK
[ 304.228388] stk1160_i2c_xfer: addr=4a
[ 304.228397] subaddr=0 write=3
[ 304.252267] OK
[ 304.252286] stk1160_i2c_xfer: addr=4a
[ 304.252295] subaddr=0
[ 304.276363] read=10
[ 304.276372] OK
[ 304.276386] stk1160_i2c_xfer: addr=4a
[ 304.276395] subaddr=0 write=4
[ 304.300248] OK
[ 304.300266] stk1160_i2c_xfer: addr=4a
[ 304.300275] subaddr=0
[ 304.324363] read=10
[ 304.324373] OK
[ 304.324386] stk1160_i2c_xfer: addr=4a
[ 304.324394] subaddr=0 write=5
[ 304.348250] OK
[ 304.348268] stk1160_i2c_xfer: addr=4a
[ 304.348277] subaddr=0
[ 304.372364] read=10
[ 304.372374] OK
[ 304.372387] stk1160_i2c_xfer: addr=4a
[ 304.372396] subaddr=0 write=6
[ 304.396250] OK
[ 304.396266] stk1160_i2c_xfer: addr=4a
[ 304.396275] subaddr=0
[ 304.420363] read=10
[ 304.420372] OK
[ 304.420386] stk1160_i2c_xfer: addr=4a
[ 304.420395] subaddr=0 write=7
[ 304.444253] OK
[ 304.444274] stk1160_i2c_xfer: addr=4a
[ 304.444283] subaddr=0
[ 304.468364] read=10
[ 304.468374] OK
[ 304.468389] stk1160_i2c_xfer: addr=4a
[ 304.468398] subaddr=0 write=8
[ 304.492248] OK
[ 304.492266] stk1160_i2c_xfer: addr=4a
[ 304.492275] subaddr=0
[ 304.516360] read=10
[ 304.516370] OK
[ 304.516384] stk1160_i2c_xfer: addr=4a
[ 304.516392] subaddr=0 write=9
[ 304.540248] OK
[ 304.540278] stk1160_i2c_xfer: addr=4a
[ 304.540291] subaddr=0
[ 304.564638] read=10
[ 304.564653] OK
[ 304.564675] stk1160_i2c_xfer: addr=4a
[ 304.564687] subaddr=0 write=a
[ 304.565874] OK
[ 304.565895] stk1160_i2c_xfer: addr=4a
[ 304.565904] subaddr=0
[ 304.588370] read=10
[ 304.588376] OK
[ 304.588386] stk1160_i2c_xfer: addr=4a
[ 304.588390] subaddr=0 write=b
[ 304.612222] OK
[ 304.612241] stk1160_i2c_xfer: addr=4a
[ 304.612249] subaddr=0
[ 304.636369] read=10
[ 304.636380] OK
[ 304.636396] stk1160_i2c_xfer: addr=4a
[ 304.636405] subaddr=0 write=c
[ 304.660268] OK
[ 304.660288] stk1160_i2c_xfer: addr=4a
[ 304.660297] subaddr=0
[ 304.684364] read=10
[ 304.684374] OK
[ 304.684388] stk1160_i2c_xfer: addr=4a
[ 304.684396] subaddr=0 write=d
[ 304.708249] OK
[ 304.708267] stk1160_i2c_xfer: addr=4a
[ 304.708276] subaddr=0
[ 304.732366] read=10
[ 304.732375] OK
[ 304.732389] stk1160_i2c_xfer: addr=4a
[ 304.732398] subaddr=0 write=e
[ 304.756251] OK
[ 304.756270] stk1160_i2c_xfer: addr=4a
[ 304.756279] subaddr=0
[ 304.780365] read=10
--
Ezequiel
[1] https://github.com/ezequielgarcia/stk1160-standalone/issues/14
[2] https://github.com/ezequielgarcia/stk1160-standalone/issues/14#issuecomment-11732376
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: saa711x doesn't match in easycap devices (stk1160 bridged)
2012-12-28 14:13 saa711x doesn't match in easycap devices (stk1160 bridged) Ezequiel Garcia
@ 2012-12-29 14:25 ` Ezequiel Garcia
2012-12-29 15:10 ` Hans Verkuil
0 siblings, 1 reply; 4+ messages in thread
From: Ezequiel Garcia @ 2012-12-29 14:25 UTC (permalink / raw)
To: linux-media; +Cc: Hans Verkuil, Mauro Carvalho Chehab, Sylwester Nawrocki
Ccing a few more people to get some feedback.
Toughts anyone? Have you ever seen this before?
On Fri, Dec 28, 2012 at 11:13 AM, Ezequiel Garcia <elezegarcia@gmail.com> wrote:
> Hi everyone,
>
> Some stk1160 users (a lot acually) are reporting that stk1160 is broken.
> The reports come in the out of tree driver [1], but probably the issue
> is in mainline too.
>
> Now, it seems to me the problem is the saa711x decoder can't get matched,
> see a portion of dmesg.
>
> [89947.448813] usb 1-2.4: New device Syntek Semiconductor USB 2.0
> Video Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
> [89947.448827] usb 1-2.4: video interface 0 found
> [89948.200366] saa7115 21-0025: chip found @ 0x4a (ID 000000000000000)
> does not match a known saa711x chip.
> [89948.200555] stk1160: driver ver 0.9.3 successfully loaded
> [...]
>
> I'm working on this right now, but would like to know, given the ID
> seems to be NULL,
> what would be the right thing to do here.
> Perhaps, replacing the -ENODEV error by a just warning and keep going?
>
> Further debugging [2] shows the chip doesn't seem to have a proper
> chipid (as expected):
>
> [ 304.059917] stk1160_i2c_xfer: addr=4a
> [ 304.084238] OK
> [ 304.084483] stk1160_i2c_xfer: addr=4a
> [ 304.084498] subaddr=0 write=0
> [ 304.108254] OK
> [ 304.108276] stk1160_i2c_xfer: addr=4a
> [ 304.108286] subaddr=0
> [ 304.132367] read=10
> [ 304.132378] OK
> [ 304.132394] stk1160_i2c_xfer: addr=4a
> [ 304.132403] subaddr=0 write=1
> [ 304.156269] OK
> [ 304.156288] stk1160_i2c_xfer: addr=4a
> [ 304.156297] subaddr=0
> [ 304.180490] read=10
> [ 304.180500] OK
> [ 304.180514] stk1160_i2c_xfer: addr=4a
> [ 304.180523] subaddr=0 write=2
> [ 304.204249] OK
> [ 304.204268] stk1160_i2c_xfer: addr=4a
> [ 304.204276] subaddr=0
> [ 304.228365] read=10
> [ 304.228374] OK
> [ 304.228388] stk1160_i2c_xfer: addr=4a
> [ 304.228397] subaddr=0 write=3
> [ 304.252267] OK
> [ 304.252286] stk1160_i2c_xfer: addr=4a
> [ 304.252295] subaddr=0
> [ 304.276363] read=10
> [ 304.276372] OK
> [ 304.276386] stk1160_i2c_xfer: addr=4a
> [ 304.276395] subaddr=0 write=4
> [ 304.300248] OK
> [ 304.300266] stk1160_i2c_xfer: addr=4a
> [ 304.300275] subaddr=0
> [ 304.324363] read=10
> [ 304.324373] OK
> [ 304.324386] stk1160_i2c_xfer: addr=4a
> [ 304.324394] subaddr=0 write=5
> [ 304.348250] OK
> [ 304.348268] stk1160_i2c_xfer: addr=4a
> [ 304.348277] subaddr=0
> [ 304.372364] read=10
> [ 304.372374] OK
> [ 304.372387] stk1160_i2c_xfer: addr=4a
> [ 304.372396] subaddr=0 write=6
> [ 304.396250] OK
> [ 304.396266] stk1160_i2c_xfer: addr=4a
> [ 304.396275] subaddr=0
> [ 304.420363] read=10
> [ 304.420372] OK
> [ 304.420386] stk1160_i2c_xfer: addr=4a
> [ 304.420395] subaddr=0 write=7
> [ 304.444253] OK
> [ 304.444274] stk1160_i2c_xfer: addr=4a
> [ 304.444283] subaddr=0
> [ 304.468364] read=10
> [ 304.468374] OK
> [ 304.468389] stk1160_i2c_xfer: addr=4a
> [ 304.468398] subaddr=0 write=8
> [ 304.492248] OK
> [ 304.492266] stk1160_i2c_xfer: addr=4a
> [ 304.492275] subaddr=0
> [ 304.516360] read=10
> [ 304.516370] OK
> [ 304.516384] stk1160_i2c_xfer: addr=4a
> [ 304.516392] subaddr=0 write=9
> [ 304.540248] OK
> [ 304.540278] stk1160_i2c_xfer: addr=4a
> [ 304.540291] subaddr=0
> [ 304.564638] read=10
> [ 304.564653] OK
> [ 304.564675] stk1160_i2c_xfer: addr=4a
> [ 304.564687] subaddr=0 write=a
> [ 304.565874] OK
> [ 304.565895] stk1160_i2c_xfer: addr=4a
> [ 304.565904] subaddr=0
> [ 304.588370] read=10
> [ 304.588376] OK
> [ 304.588386] stk1160_i2c_xfer: addr=4a
> [ 304.588390] subaddr=0 write=b
> [ 304.612222] OK
> [ 304.612241] stk1160_i2c_xfer: addr=4a
> [ 304.612249] subaddr=0
> [ 304.636369] read=10
> [ 304.636380] OK
> [ 304.636396] stk1160_i2c_xfer: addr=4a
> [ 304.636405] subaddr=0 write=c
> [ 304.660268] OK
> [ 304.660288] stk1160_i2c_xfer: addr=4a
> [ 304.660297] subaddr=0
> [ 304.684364] read=10
> [ 304.684374] OK
> [ 304.684388] stk1160_i2c_xfer: addr=4a
> [ 304.684396] subaddr=0 write=d
> [ 304.708249] OK
> [ 304.708267] stk1160_i2c_xfer: addr=4a
> [ 304.708276] subaddr=0
> [ 304.732366] read=10
> [ 304.732375] OK
> [ 304.732389] stk1160_i2c_xfer: addr=4a
> [ 304.732398] subaddr=0 write=e
> [ 304.756251] OK
> [ 304.756270] stk1160_i2c_xfer: addr=4a
> [ 304.756279] subaddr=0
> [ 304.780365] read=10
>
> --
> Ezequiel
>
> [1] https://github.com/ezequielgarcia/stk1160-standalone/issues/14
> [2] https://github.com/ezequielgarcia/stk1160-standalone/issues/14#issuecomment-11732376
--
Ezequiel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: saa711x doesn't match in easycap devices (stk1160 bridged)
2012-12-29 14:25 ` Ezequiel Garcia
@ 2012-12-29 15:10 ` Hans Verkuil
2012-12-29 15:39 ` Ezequiel Garcia
0 siblings, 1 reply; 4+ messages in thread
From: Hans Verkuil @ 2012-12-29 15:10 UTC (permalink / raw)
To: Ezequiel Garcia; +Cc: linux-media, Mauro Carvalho Chehab, Sylwester Nawrocki
On Sat December 29 2012 15:25:08 Ezequiel Garcia wrote:
> Ccing a few more people to get some feedback.
>
> Toughts anyone? Have you ever seen this before?
>
> On Fri, Dec 28, 2012 at 11:13 AM, Ezequiel Garcia <elezegarcia@gmail.com> wrote:
> > Hi everyone,
> >
> > Some stk1160 users (a lot acually) are reporting that stk1160 is broken.
> > The reports come in the out of tree driver [1], but probably the issue
> > is in mainline too.
> >
> > Now, it seems to me the problem is the saa711x decoder can't get matched,
> > see a portion of dmesg.
> >
> > [89947.448813] usb 1-2.4: New device Syntek Semiconductor USB 2.0
> > Video Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
> > [89947.448827] usb 1-2.4: video interface 0 found
> > [89948.200366] saa7115 21-0025: chip found @ 0x4a (ID 000000000000000)
> > does not match a known saa711x chip.
> > [89948.200555] stk1160: driver ver 0.9.3 successfully loaded
> > [...]
> >
> > I'm working on this right now, but would like to know, given the ID
> > seems to be NULL,
> > what would be the right thing to do here.
> > Perhaps, replacing the -ENODEV error by a just warning and keep going?
> >
> > Further debugging [2] shows the chip doesn't seem to have a proper
> > chipid (as expected):
>From what I understand these devices use a GM7113C device, not a SAA7113.
It sounds like a chinese clone of the SAA7113 to me that works *almost* the
same, but not quite.
In that case the saa711x_id table should be extended with a gm7113c entry
and, if chosen, the chip ID check should be skipped.
This means that the stk1160 driver can try probing for saa7115_auto, and if
that fails it should try probing for gm7113c explicitly.
Note that this probing technique works for all saa711x devices from saa7111
onwards, but it is only described explicitly in the datasheet for the saa7115.
So if they cloned the saa7113 based on the saa7113 datasheet, then this useful
but undocumented feature would not be included in their clone.
Regards,
Hans
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: saa711x doesn't match in easycap devices (stk1160 bridged)
2012-12-29 15:10 ` Hans Verkuil
@ 2012-12-29 15:39 ` Ezequiel Garcia
0 siblings, 0 replies; 4+ messages in thread
From: Ezequiel Garcia @ 2012-12-29 15:39 UTC (permalink / raw)
To: Hans Verkuil; +Cc: linux-media, Mauro Carvalho Chehab, Sylwester Nawrocki
Hi Hans,
On Sat, Dec 29, 2012 at 12:10 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
> On Sat December 29 2012 15:25:08 Ezequiel Garcia wrote:
>> Ccing a few more people to get some feedback.
>>
>> Toughts anyone? Have you ever seen this before?
>>
>> On Fri, Dec 28, 2012 at 11:13 AM, Ezequiel Garcia <elezegarcia@gmail.com> wrote:
>> > Hi everyone,
>> >
>> > Some stk1160 users (a lot acually) are reporting that stk1160 is broken.
>> > The reports come in the out of tree driver [1], but probably the issue
>> > is in mainline too.
>> >
>> > Now, it seems to me the problem is the saa711x decoder can't get matched,
>> > see a portion of dmesg.
>> >
>> > [89947.448813] usb 1-2.4: New device Syntek Semiconductor USB 2.0
>> > Video Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
>> > [89947.448827] usb 1-2.4: video interface 0 found
>> > [89948.200366] saa7115 21-0025: chip found @ 0x4a (ID 000000000000000)
>> > does not match a known saa711x chip.
>> > [89948.200555] stk1160: driver ver 0.9.3 successfully loaded
>> > [...]
>> >
>> > I'm working on this right now, but would like to know, given the ID
>> > seems to be NULL,
>> > what would be the right thing to do here.
>> > Perhaps, replacing the -ENODEV error by a just warning and keep going?
>> >
>> > Further debugging [2] shows the chip doesn't seem to have a proper
>> > chipid (as expected):
>
> From what I understand these devices use a GM7113C device, not a SAA7113.
> It sounds like a chinese clone of the SAA7113 to me that works *almost* the
> same, but not quite.
>
Yes, that seems to be the case.
> In that case the saa711x_id table should be extended with a gm7113c entry
> and, if chosen, the chip ID check should be skipped.
>
> This means that the stk1160 driver can try probing for saa7115_auto, and if
> that fails it should try probing for gm7113c explicitly.
>
> Note that this probing technique works for all saa711x devices from saa7111
> onwards, but it is only described explicitly in the datasheet for the saa7115.
> So if they cloned the saa7113 based on the saa7113 datasheet, then this useful
> but undocumented feature would not be included in their clone.
>
I understand. I'll work with the users that are reporting this
to get the best way to "probe" for this crappy chip.
Strangely, according to translated chinese GM7113c datasheet, the chip
should return ID just as saa7113 does.
It can't be **that** different, since legacy easycap driver has
been reported to work fine (which is understandable since
easycap driver does it's own saa7113 handling).
This represents a regression for many users,
thus my desire to obtain a fix soon.
Thanks,
--
Ezequiel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-12-29 15:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-28 14:13 saa711x doesn't match in easycap devices (stk1160 bridged) Ezequiel Garcia
2012-12-29 14:25 ` Ezequiel Garcia
2012-12-29 15:10 ` Hans Verkuil
2012-12-29 15:39 ` Ezequiel Garcia
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).