You are not logged in.

#1 2016-07-17 23:31:40

ajc0
Member
Registered: 2015-03-16
Posts: 6

"BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

Hello!

In short, I'm having trouble getting my laptop's built-in webcam to work, and would greatly appreciate any help.

My laptop is a Nocatech Elite N1757 - http://www.novatech.co.uk/laptop/range/ … n1757.html
They tell me it's a rebranded Clevo P670RG-G - http://www.clevo.com/clevo_prodetail.asp?id=875&lang=en

guvcviewer tells me "Guvcview error" "no video device found". There is no /dev/video. The uvcvideo module is loaded.

lspci doesn't show anything that might be a camera:

00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GM204M [GeForce GTX 980M] (rev a1)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)
02:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
03:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)

Nor does lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 1c7a:0603 LighTuning Technology Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

So I contacted Novatech's support. They told me that the webcam is "UVC Camera Bison Fix BN8VU6VTH-020 2M FHD slim 0V2724 FW0605 W/LED W/Array Mic." although googling most of this didn't reveal anything.

Next, I try various other things unsuccessfully, mostly to do with loading and reloading the uvcvideo module trying to get debug output, and pressing various Fn+F(x) key combinations hoping to turn the webcam on in hardware (various people have had some success by pressing Fn+F10). There weren't any camera options in the bios.

I called it a night some time after trying to load a uvcvideo module I compiled (in the following dmesg, 23822 - 24139) . Resume from suspend isn't working yet, so I just leave my laptop on. However, the screen blanks after 5 minutes.

Weirdly, the following morning, after I found something very promising in dmesg (57951.153223). Then, 8 minutes later, after the laptop screen blanking, I wake it up, and see the same output again (58441.765045). The webcam still isn't detected by guvcview though:

https://ptpb.pw/R3vC

So, it looks like my camera is physically attached to my system, through PCI address 0000:00:14.0, which corresponds to some kind of internal USB port. It also looks like it's only being detected when my laptop wakes up from a low power state, then the USB interface disconnects. I'll post more as I find it out. However, I'd be very grateful to anyone who could point me in the right direction!

Last edited by ajc0 (2016-07-17 23:33:19)

Offline

#2 2016-07-18 20:05:11

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: "BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

I had a BisonCam in my old Zepto laptop, it had to be powered on via a hardware switch (holding it until the key lighted up), then the system detected it as a device and worked out of the box on linux, from what I remember. I never used it extensively, though, and the laptop died recently so I can't confirm.


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#3 2016-07-18 21:32:30

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: "BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

Can you provide the full output of 'lsusb -t'?


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#4 2016-07-19 08:27:05

ajc0
Member
Registered: 2015-03-16
Posts: 6

Re: "BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

Thankyou for your responses, Soukyuu, R00KIE. There's been an interesting development!

Previously, when I `lsusb -t`, I get

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 7: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 8: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M

However, now, I'm seeing

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 7: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 8: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 9: Dev 14, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 14, If 1, Class=Video, Driver=uvcvideo, 480M

.

guvcview now detects my webcam, but it doesn't "work". I'm not able to explain why the camera now appears in lsusb -t, however, I did add the following lines to /etc/modprobe.d/something.conf

options usbcore autosuspend=-1 # My hypothesis was that the USB autosuspending might be breaking the webcam
options uvcvideo trace=0xfff quirks=0x100 # Someone had used this quirks option in a forum post about BisonCam

I tried quirks=0x100 because someone mentioned it on a forum post somewhere. Next, I reloaded uvcvideo with quirks=0x102 and it broke. After going back to quirks 0x100, the camera was still broken.

Here is my dmesg: https://ptpb.pw/70PV
Here is the full output of lsusb -v: https://ptpb.pw/Yhn2 - as weird as it may sound, lsusb -v has never shown me anything that could be close to a camera before!

With these random camera events, maybe the device isn't usually getting power through the USB? There is a camera keyboard button, which I've tried, but there's no associated light indicating that the camera is on. http://imgur.com/VpPzmah

Edit: Here's what the quirks do: http://www.ideasonboard.org/uvc/faq/

More delving required smile

Last edited by ajc0 (2016-07-19 10:23:58)

Offline

#5 2016-07-19 11:01:26

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: "BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

I have a few comments:
- Using random quirks you saw somewhere else is not guaranteed to make your hardware work, it might work but you have to understand what you are trying to do.
- Try all quirks one by one. At least for the known quirks listed in the kernel sources, only one quirk seems to be necessary for each device, so I would assume you'd need to have a very broken device to need more than one.
- The page you link to seems to be outdated, kernel sources have a couple more quirks you can try.
- You should try loading the uvcvideo module with the option nodrop=1, without quirks as a start.
- If all of the above fail, try contacting upstream directly.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#6 2016-07-24 17:20:39

ajc0
Member
Registered: 2015-03-16
Posts: 6

Re: "BisonCam, NB Pro" built-in webcam doesn't show up in lspci or lsusb

Thankyou for your advice R00KIE!

It's been a few days, but I've finally got back to the point where the camera appears in `lsusb -t`. Again, I'm not sure how this happened, but am hoping to find out after I get the webcam to work from this point.

Added nodrop=1 to the module parameters, set no quirks, and reloaded uvcvideo.

[369321.096141] uvcvideo: Probing generic UVC device 9
[369321.096151] uvcvideo: Found format MJPEG.
[369321.096153] uvcvideo: - 640x480 (30.0 fps)
[369321.096154] uvcvideo: - 160x120 (30.0 fps)
[369321.096155] uvcvideo: - 176x144 (30.0 fps)
[369321.096156] uvcvideo: - 320x240 (30.0 fps)
[369321.096157] uvcvideo: - 352x288 (30.0 fps)
[369321.096158] uvcvideo: - 640x360 (30.0 fps)
[369321.096159] uvcvideo: - 1280x720 (30.0 fps)
[369321.096160] uvcvideo: - 1280x1024 (30.0 fps)
[369321.096161] uvcvideo: - 1920x1080 (30.0 fps)
[369321.096162] uvcvideo: - 640x480 (30.0 fps)
[369321.096163] uvcvideo: Found format YUV 4:2:2 (YUYV).
[369321.096165] uvcvideo: - 640x480 (30.0 fps)
[369321.096166] uvcvideo: - 160x120 (30.0 fps)
[369321.096166] uvcvideo: - 176x144 (30.0 fps)
[369321.096167] uvcvideo: - 320x240 (30.0 fps)
[369321.096168] uvcvideo: - 352x288 (30.0 fps)
[369321.096169] uvcvideo: - 640x360 (30.0 fps)
[369321.096170] uvcvideo: - 1280x720 (10.0 fps)
[369321.096171] uvcvideo: - 1280x1024 (5.0 fps)
[369321.096172] uvcvideo: - 1920x1080 (5.0 fps)
[369321.096173] uvcvideo: - 640x480 (30.0 fps)
[369321.096177] uvcvideo: Found a Status endpoint (addr 83).
[369321.096178] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:066d)
[369321.096182] uvcvideo: Added control 00000000-0000-0000-0000-000000000001/3 to device 9 entity 1
[369321.096184] uvcvideo: Adding mapping 'Exposure, Auto Priority' to control 00000000-0000-0000-0000-000000000001/3.
[369321.096186] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/2 to device 9 entity 2
[369321.096188] uvcvideo: Adding mapping 'Brightness' to control 00000000-0000-0000-0000-000000000101/2.
[369321.096190] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/3 to device 9 entity 2
[369321.096191] uvcvideo: Adding mapping 'Contrast' to control 00000000-0000-0000-0000-000000000101/3.
[369321.096193] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/6 to device 9 entity 2
[369321.096194] uvcvideo: Adding mapping 'Hue' to control 00000000-0000-0000-0000-000000000101/6.
[369321.096196] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/7 to device 9 entity 2
[369321.096197] uvcvideo: Adding mapping 'Saturation' to control 00000000-0000-0000-0000-000000000101/7.
[369321.096199] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/8 to device 9 entity 2
[369321.096201] uvcvideo: Adding mapping 'Sharpness' to control 00000000-0000-0000-0000-000000000101/8.
[369321.096203] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/9 to device 9 entity 2
[369321.096204] uvcvideo: Adding mapping 'Gamma' to control 00000000-0000-0000-0000-000000000101/9.
[369321.096206] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/10 to device 9 entity 2
[369321.096208] uvcvideo: Adding mapping 'White Balance Temperature' to control 00000000-0000-0000-0000-000000000101/10.
[369321.096210] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/5 to device 9 entity 2
[369321.096212] uvcvideo: Adding mapping 'Power Line Frequency' to control 00000000-0000-0000-0000-000000000101/5.
[369321.096214] uvcvideo: Added control 00000000-0000-0000-0000-000000000101/11 to device 9 entity 2
[369321.096215] uvcvideo: Adding mapping 'White Balance Temperature, Auto' to control 00000000-0000-0000-0000-000000000101/11.
[369321.096217] uvcvideo: Scanning UVC chain: OT 3 <- XU 4 <- PU 2 <- IT 1
[369321.096221] uvcvideo: Found a valid video chain (1 -> 3).
THIS LINE (1) IN DEFAULT COLOUR --------------> [369321.096334] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
THIS LINE (2) IN RED--------------> [369321.096414] uvcvideo: Failed to query (129) UVC probe control : -71 (exp. 26).
[369321.096416] uvcvideo: Failed to initialize the device (-5).
[369321.096453] usbcore: registered new interface driver uvcvideo
[369321.096454] USB Video Class driver (1.1.1)

The " UVC non compliance" line (1) comes from this line of code in uvcvideo - https://github.com/torvalds/linux/blob/ … deo.c#L203 , and disappears when the 0x100 quirk is enabled. From the comment, I'm guessing the supported bisoncams are supposed to work without the 0x100 quirk.

The "Failed to query (129) UVC probe control : -71 (exp. 26)." line (2) comes from a different line in the uvcvideo module, but 129 refers to the query UVC_GET_CUR.

I've also tried every quirk, and every combination of (quirk & 0x100), but (2) does not disappear.

I was about to talk to upstream today but then figured out how to compile kernel modules that I could load. This is fun!

Offline

Board footer

Powered by FluxBB