On May 31 12:16:58, h...@stare.cz wrote: > Hi, > > On May 26 22:15:28, feine...@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, patr...@blueri.se wrote: > > On Sat, May 30, 2020 at 07:47:17PM +0200, Jan Stary wrote: > > > On May 30 18:50:12, h...@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