Sunday, May 31, 2020

Re: macbook - uvideo0: can't find video interface

On May 31 12:16:58, hans@stare.cz wrote:
> Hi,
>
> On May 26 22:15:28, feinerer@logic.at wrote:
> > I think that my fix for video(1) posted at
> > https://marc.info/?l=openbsd-tech&m=159048565528060&w=2 could also
> > remedy your problem of video(1) crashing reported at
> > https://marc.info/?l=openbsd-misc&m=158800058009113&w=2 .
>
> On May 30 23:52:43, patrick@blueri.se wrote:
> > On Sat, May 30, 2020 at 07:47:17PM +0200, Jan Stary wrote:
> > > On May 30 18:50:12, hans@stare.cz wrote:
> > > > This is current/amd64 on a MacBook2,1 (dmesg below)
> > > > With the latest upgrade, it has lost video0:
> > > >
> > > > uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
> > > > uvideo0: can't find interface assoc descriptor
> > >
> > > Similar thing happens with current/i386 on a MacBook1,1 (dmesg below):
> > > uvideo0: can't find video interface
> > >
> > > Jan
> >
> > Yeah, this is due to the change to support multiple cameras in one
> > device. You can try this diff, let me know if this works on both
> > of your machines.
>
> With Patrick's diff, my amd64 Macbook2,1 has video0 at uvideo0 again.
> I compiled the patched kernel with UVIDEO_DEBUG, dmesg below. Thanks!

On the i386 macbook, the UVIDEO_DEBUG messages spam the dmesg so much
that I only have the uvideo tail in dmesg.boot (see below).
I will recompile without UVIDEO_DEBUG.

At any rate, video0 at uvideo0 exists now - thanks.

Jan


uvideo0: send 3 bytes data to offset 0x1b
uvideo0: ucode data len=3, request=0x33
uvideo0: send 3 bytes data to offset 0x33
uvideo0: ucode data len=3, request=0x43
uvideo0: send 3 bytes data to offset 0x43
uvideo0: ucode data len=3, request=0x4b
uvideo0: send 3 bytes data to offset 0x4b
uvideo0: ucode data len=3, request=0x53
uvideo0: send 3 bytes data to offset 0x53
uvideo0: ucode data len=1023, request=0x100
uvideo0: send 50 bytes data to offset 0x100
uvideo0: send 50 bytes data to offset 0x132
uvideo0: send 50 bytes data to offset 0x164
uvideo0: send 50 bytes data to offset 0x196
uvideo0: send 50 bytes data to offset 0x1c8
uvideo0: send 50 bytes data to offset 0x1fa
uvideo0: send 50 bytes data to offset 0x22c
uvideo0: send 50 bytes data to offset 0x25e
uvideo0: send 50 bytes data to offset 0x290
uvideo0: send 50 bytes data to offset 0x2c2
uvideo0: send 50 bytes data to offset 0x2f4
uvideo0: send 50 bytes data to offset 0x326
uvideo0: send 50 bytes data to offset 0x358
uvideo0: send 50 bytes data to offset 0x38a
uvideo0: send 50 bytes data to offset 0x3bc
uvideo0: send 50 bytes data to offset 0x3ee
uvideo0: send 50 bytes data to offset 0x420
uvideo0: send 50 bytes data to offset 0x452
uvideo0: send 50 bytes data to offset 0x484
uvideo0: send 50 bytes data to offset 0x4b6
uvideo0: send 23 bytes data to offset 0x4e8
uvideo0: ucode data len=1023, request=0x4ff
uvideo0: send 50 bytes data to offset 0x4ff
uvideo0: send 50 bytes data to offset 0x531
uvideo0: send 50 bytes data to offset 0x563
uvideo0: send 50 bytes data to offset 0x595
uvideo0: send 50 bytes data to offset 0x5c7
uvideo0: send 50 bytes data to offset 0x5f9
uvideo0: send 50 bytes data to offset 0x62b
uvideo0: send 50 bytes data to offset 0x65d
uvideo0: send 50 bytes data to offset 0x68f
uvideo0: send 50 bytes data to offset 0x6c1
uvideo0: send 50 bytes data to offset 0x6f3
uvideo0: send 50 bytes data to offset 0x725
uvideo0: send 50 bytes data to offset 0x757
uvideo0: send 50 bytes data to offset 0x789
uvideo0: send 50 bytes data to offset 0x7bb
uvideo0: send 50 bytes data to offset 0x7ed
uvideo0: send 50 bytes data to offset 0x81f
uvideo0: send 50 bytes data to offset 0x851
uvideo0: send 50 bytes data to offset 0x883
uvideo0: send 50 bytes data to offset 0x8b5
uvideo0: send 23 bytes data to offset 0x8e7
uvideo0: ucode data len=1023, request=0x8fe
uvideo0: send 50 bytes data to offset 0x8fe
uvideo0: send 50 bytes data to offset 0x930
uvideo0: send 50 bytes data to offset 0x962
uvideo0: send 50 bytes data to offset 0x994
uvideo0: send 50 bytes data to offset 0x9c6
uvideo0: send 50 bytes data to offset 0x9f8
uvideo0: send 50 bytes data to offset 0xa2a
uvideo0: send 50 bytes data to offset 0xa5c
uvideo0: send 50 bytes data to offset 0xa8e
uvideo0: send 50 bytes data to offset 0xac0
uvideo0: send 50 bytes data to offset 0xaf2
uvideo0: send 50 bytes data to offset 0xb24
uvideo0: send 50 bytes data to offset 0xb56
uvideo0: send 50 bytes data to offset 0xb88
uvideo0: send 50 bytes data to offset 0xbba
uvideo0: send 50 bytes data to offset 0xbec
uvideo0: send 50 bytes data to offset 0xc1e
uvideo0: send 50 bytes data to offset 0xc50
uvideo0: send 50 bytes data to offset 0xc82
uvideo0: send 50 bytes data to offset 0xcb4
uvideo0: send 23 bytes data to offset 0xce6
uvideo0: ucode data len=1023, request=0xcfd
uvideo0: send 50 bytes data to offset 0xcfd
uvideo0: send 50 bytes data to offset 0xd2f
uvideo0: send 50 bytes data to offset 0xd61
uvideo0: send 50 bytes data to offset 0xd93
uvideo0: send 50 bytes data to offset 0xdc5
uvideo0: send 50 bytes data to offset 0xdf7
uvideo0: send 50 bytes data to offset 0xe29
uvideo0: send 50 bytes data to offset 0xe5b
uvideo0: send 50 bytes data to offset 0xe8d
uvideo0: send 50 bytes data to offset 0xebf
uvideo0: send 50 bytes data to offset 0xef1
uvideo0: send 50 bytes data to offset 0xf23
uvideo0: send 50 bytes data to offset 0xf55
uvideo0: send 50 bytes data to offset 0xf87
uvideo0: send 50 bytes data to offset 0xfb9
uvideo0: send 50 bytes data to offset 0xfeb
uvideo0: send 50 bytes data to offset 0x101d
uvideo0: send 50 bytes data to offset 0x104f
uvideo0: send 50 bytes data to offset 0x1081
uvideo0: send 50 bytes data to offset 0x10b3
uvideo0: send 23 bytes data to offset 0x10e5
uvideo0: ucode data len=1023, request=0x10fc
uvideo0: send 50 bytes data to offset 0x10fc
uvideo0: send 50 bytes data to offset 0x112e
uvideo0: send 50 bytes data to offset 0x1160
uvideo0: send 50 bytes data to offset 0x1192
uvideo0: send 50 bytes data to offset 0x11c4
uvideo0: send 50 bytes data to offset 0x11f6
uvideo0: send 50 bytes data to offset 0x1228
uvideo0: send 50 bytes data to offset 0x125a
uvideo0: send 50 bytes data to offset 0x128c
uvideo0: send 50 bytes data to offset 0x12be
uvideo0: send 50 bytes data to offset 0x12f0
uvideo0: send 50 bytes data to offset 0x1322
uvideo0: send 50 bytes data to offset 0x1354
uvideo0: send 50 bytes data to offset 0x1386
uvideo0: send 50 bytes data to offset 0x13b8
uvideo0: send 50 bytes data to offset 0x13ea
uvideo0: send 50 bytes data to offset 0x141c
uvideo0: send 50 bytes data to offset 0x144e
uvideo0: send 50 bytes data to offset 0x1480
uvideo0: send 50 bytes data to offset 0x14b2
uvideo0: send 23 bytes data to offset 0x14e4
uvideo0: ucode data len=1023, request=0x14fb
uvideo0: send 50 bytes data to offset 0x14fb
uvideo0: send 50 bytes data to offset 0x152d
uvideo0: send 50 bytes data to offset 0x155f
uvideo0: send 50 bytes data to offset 0x1591
uvideo0: send 50 bytes data to offset 0x15c3
uvideo0: send 50 bytes data to offset 0x15f5
uvideo0: send 50 bytes data to offset 0x1627
uvideo0: send 50 bytes data to offset 0x1659
uvideo0: send 50 bytes data to offset 0x168b
uvideo0: send 50 bytes data to offset 0x16bd
uvideo0: send 50 bytes data to offset 0x16ef
uvideo0: send 50 bytes data to offset 0x1721
uvideo0: send 50 bytes data to offset 0x1753
uvideo0: send 50 bytes data to offset 0x1785
uvideo0: send 50 bytes data to offset 0x17b7
uvideo0: send 50 bytes data to offset 0x17e9
uvideo0: send 50 bytes data to offset 0x181b
uvideo0: send 50 bytes data to offset 0x184d
uvideo0: send 50 bytes data to offset 0x187f
uvideo0: send 50 bytes data to offset 0x18b1
uvideo0: send 23 bytes data to offset 0x18e3
uvideo0: ucode data len=1023, request=0x18fa
uvideo0: send 50 bytes data to offset 0x18fa
uvideo0: send 50 bytes data to offset 0x192c
uvideo0: send 50 bytes data to offset 0x195e
uvideo0: send 50 bytes data to offset 0x1990
uvideo0: send 50 bytes data to offset 0x19c2
uvideo0: send 50 bytes data to offset 0x19f4
uvideo0: send 50 bytes data to offset 0x1a26
uvideo0: send 50 bytes data to offset 0x1a58
uvideo0: send 50 bytes data to offset 0x1a8a
uvideo0: send 50 bytes data to offset 0x1abc
uvideo0: send 50 bytes data to offset 0x1aee
uvideo0: send 50 bytes data to offset 0x1b20
uvideo0: send 50 bytes data to offset 0x1b52
uvideo0: send 50 bytes data to offset 0x1b84
uvideo0: send 50 bytes data to offset 0x1bb6
uvideo0: send 50 bytes data to offset 0x1be8
uvideo0: send 50 bytes data to offset 0x1c1a
uvideo0: send 50 bytes data to offset 0x1c4c
uvideo0: send 50 bytes data to offset 0x1c7e
uvideo0: send 50 bytes data to offset 0x1cb0
uvideo0: send 23 bytes data to offset 0x1ce2
uvideo0: ucode data len=1023, request=0x1cf9
uvideo0: send 50 bytes data to offset 0x1cf9
uvideo0: send 50 bytes data to offset 0x1d2b
uvideo0: send 50 bytes data to offset 0x1d5d
uvideo0: send 50 bytes data to offset 0x1d8f
uvideo0: send 50 bytes data to offset 0x1dc1
uvideo0: send 50 bytes data to offset 0x1df3
uvideo0: send 50 bytes data to offset 0x1e25
uvideo0: send 50 bytes data to offset 0x1e57
uvideo0: send 50 bytes data to offset 0x1e89
uvideo0: send 50 bytes data to offset 0x1ebb
uvideo0: send 50 bytes data to offset 0x1eed
uvideo0: send 50 bytes data to offset 0x1f1f
uvideo0: send 50 bytes data to offset 0x1f51
uvideo0: send 50 bytes data to offset 0x1f83
uvideo0: send 50 bytes data to offset 0x1fb5
uvideo0: send 50 bytes data to offset 0x1fe7
uvideo0: send 50 bytes data to offset 0x2019
uvideo0: send 50 bytes data to offset 0x204b
uvideo0: send 50 bytes data to offset 0x207d
uvideo0: send 50 bytes data to offset 0x20af
uvideo0: send 23 bytes data to offset 0x20e1
uvideo0: ucode data len=1023, request=0x20f8
uvideo0: send 50 bytes data to offset 0x20f8
uvideo0: send 50 bytes data to offset 0x212a
uvideo0: send 50 bytes data to offset 0x215c
uvideo0: send 50 bytes data to offset 0x218e
uvideo0: send 50 bytes data to offset 0x21c0
uvideo0: send 50 bytes data to offset 0x21f2
uvideo0: send 50 bytes data to offset 0x2224
uvideo0: send 50 bytes data to offset 0x2256
uvideo0: send 50 bytes data to offset 0x2288
uvideo0: send 50 bytes data to offset 0x22ba
uvideo0: send 50 bytes data to offset 0x22ec
uvideo0: send 50 bytes data to offset 0x231e
uvideo0: send 50 bytes data to offset 0x2350
uvideo0: send 50 bytes data to offset 0x2382
uvideo0: send 50 bytes data to offset 0x23b4
uvideo0: send 50 bytes data to offset 0x23e6
uvideo0: send 50 bytes data to offset 0x2418
uvideo0: send 50 bytes data to offset 0x244a
uvideo0: send 50 bytes data to offset 0x247c
uvideo0: send 50 bytes data to offset 0x24ae
uvideo0: send 23 bytes data to offset 0x24e0
uvideo0: ucode data len=1023, request=0x24f7
uvideo0: send 50 bytes data to offset 0x24f7
uvideo0: send 50 bytes data to offset 0x2529
uvideo0: send 50 bytes data to offset 0x255b
uvideo0: send 50 bytes data to offset 0x258d
uvideo0: send 50 bytes data to offset 0x25bf
uvideo0: send 50 bytes data to offset 0x25f1
uvideo0: send 50 bytes data to offset 0x2623
uvideo0: send 50 bytes data to offset 0x2655
uvideo0: send 50 bytes data to offset 0x2687
uvideo0: send 50 bytes data to offset 0x26b9
uvideo0: send 50 bytes data to offset 0x26eb
uvideo0: send 50 bytes data to offset 0x271d
uvideo0: send 50 bytes data to offset 0x274f
uvideo0: send 50 bytes data to offset 0x2781
uvideo0: send 50 bytes data to offset 0x27b3
uvideo0: send 50 bytes data to offset 0x27e5
uvideo0: send 50 bytes data to offset 0x2817
uvideo0: send 50 bytes data to offset 0x2849
uvideo0: send 50 bytes data to offset 0x287b
uvideo0: send 50 bytes data to offset 0x28ad
uvideo0: send 23 bytes data to offset 0x28df
uvideo0: ucode data len=555, request=0x28f6
uvideo0: send 50 bytes data to offset 0x28f6
uvideo0: send 50 bytes data to offset 0x2928
uvideo0: send 50 bytes data to offset 0x295a
uvideo0: send 50 bytes data to offset 0x298c
uvideo0: send 50 bytes data to offset 0x29be
uvideo0: send 50 bytes data to offset 0x29f0
uvideo0: send 50 bytes data to offset 0x2a22
uvideo0: send 50 bytes data to offset 0x2a54
uvideo0: send 50 bytes data to offset 0x2a86
uvideo0: send 50 bytes data to offset 0x2ab8
uvideo0: send 50 bytes data to offset 0x2aea
uvideo0: send 5 bytes data to offset 0x2b1c
uvideo0: ucode activated
uvideo0 detached
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
bLength=9
bDescriptorType=0x02 (UDESC_CONFIG)
|
bLength=9
bDescriptorType=0x02
wTotalLength=267
bNumInterface=0x02
bConfigurationValue=0x01
iConfiguration=0x00
bmAttributes=0x80
bMaxPower=0x32

bLength=8
bDescriptorType=0x24 (CS_INTERFACE)

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x00
bAlternateSetting=0x00
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x01
bInterfaceProtocol=0x00
iInterface=0x00

bLength=13
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VC_HEADER)
|
bLength=13
bDescriptorType=0x24
bDescriptorSubtype=0x01
bcdUVC=0x0100
wTotalLength=49
dwClockFrequency=13500000
bInCollection=0x01

bLength=16
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=16
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x00
iTerminal=0x00

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VC_PROCESSING_UNIT)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x05
bUnitID=0x02
bSourceID=0x01
wMaxMultiplier=0
bControlSize=2
bmControls=0x3900
iProcessing=0x00
bmVideoStandards=0x09

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=9
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x03
bAssocTerminal=0x00
bSourceID=0x02
iTerminal=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x03 (UE_INTERRUPT)
wMaxPacketSize=8
bInterval=0x0a

bLength=5
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x03 (EP_INTERRUPT)
|
bLength=5
bDescriptorType=0x25
bDescriptorSubtype=0x03
wMaxTransferSize=16

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=14
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VS_INPUT_HEADER)
|
bLength=14
bDescriptorType=0x24
bDescriptorSubtype=0x01
bNumFormats=1
wTotalLength=155
bEndpointAddress=0x82
bmInfo=0x00
bTerminalLink=0x03
bStillCaptureMethod=0x00
bTriggerSupport=0x00
bTriggerUsage=0x00
bControlSize=1

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x04 (UDESCSUB_VS_FORMAT_UNCOMPRESSED)
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x04
bFormatIndex=0x01
bNumFrameDescriptors=0x03
guidFormat=UYVY
bBitsPerPixel=0x10
bDefaultFrameIndex=0x01
bAspectRatioX=0x00
bAspectRatioY=0x00
bmInterlaceFlags=0x00
bCopyProtect=0x00

bLength=38
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=38
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x01
bmCapabilities=0x00
wWidth=640
wHeight=480
dwMinBitRate=383976960
dwMaxBitRate=383976960
dwMaxVideoFrameBufferSize=614400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x00
dwMinFrameInterval = 333333
dwMaxFrameInterval = 333333
dwFrameIntervalStep = 0

bLength=38
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=38
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x02
bmCapabilities=0x00
wWidth=352
wHeight=288
dwMinBitRate=383976960
dwMaxBitRate=383976960
dwMaxVideoFrameBufferSize=202752
dwDefaultFrameInterval=333333
bFrameIntervalType=0x00
dwMinFrameInterval = 333333
dwMaxFrameInterval = 333333
dwFrameIntervalStep = 0

bLength=38
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=38
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x03
bmCapabilities=0x00
wWidth=320
wHeight=240
dwMinBitRate=383976960
dwMaxBitRate=383976960
dwMaxVideoFrameBufferSize=153600
dwDefaultFrameInterval=333333
bFrameIntervalType=0x00
dwMinFrameInterval = 333333
dwMaxFrameInterval = 333333
dwFrameIntervalStep = 0

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x01
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x82 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=5120
bInterval=0x01

uvideo0: uvideo_vc_parse_desc
uvideo0: number of total interfaces=2
uvideo0: number of VS interfaces=1
uvideo0: uvideo_vs_parse_desc_format
uvideo0: number of total format descriptors=1
uvideo0: uvideo_vs_parse_desc_frame
uvideo0: VS interface 0, bInterfaceNumber=0x01, numalts=2
uvideo0: bAlternateSetting=0x00, no endpoint descriptor
uvideo0: bAlternateSetting=0x01, bEndpointAddress=0x82, wMaxPacketSize=5120
uvideo0: SET probe request successfully
bmHint=0x01
bFormatIndex=0x01
bFrameIndex=0x01
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=0 (bytes)
dwMaxPayloadTransferSize=0 (bytes)
uvideo0: GET probe request successfully
bmHint=0x00
bFormatIndex=0x01
bFrameIndex=0x01
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=33 (ms)
dwMaxVideoFrameSize=614400 (bytes)
dwMaxPayloadTransferSize=3072 (bytes)
fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
uvideo_attach: doing video_attach_mi
video0 at uvideo0

No comments:

Post a Comment