LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Reply
 
Search this Thread
Old 09-15-2011, 01:47 PM   #1
Dstruct0
Member
 
Registered: Jun 2005
Distribution: Debian Etch, Lenny, Squeeze
Posts: 37

Rep: Reputation: 0
Why Linux kernel has restrictions on USB port and USB cameras?


I love Linux and in fact all the computers that i own has Linux on it. But why
kernel authors put restrictions on the data transfer rate using USB port?

Is this true at all? I'm sayin' this because all the 6 cameras(ps3eye) that I have can be used
320x240@60fps on win7 at the same time in all cameras but on Debian Squeeze it won't
go over 20frames/sec.

I asked a Linux guru who himself hacked the kernel to get 30fps.

Also I've tested my cameras with two different applications.


Is there any way to counter this restriction? Any easy way to bypass this problem?

Last edited by Dstruct0; 09-15-2011 at 01:49 PM.
 
Old 09-15-2011, 03:18 PM   #2
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
I would really doubt it's some kind of intentional limitation in the kernel; more likely just an area where the drivers could be improved upon.
 
Old 09-15-2011, 04:38 PM   #3
jefro
Guru
 
Registered: Mar 2008
Posts: 11,969

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
When you see that guru ask him where in the kernel code is this limit so I can edit it also.
 
Old 09-15-2011, 05:29 PM   #4
Skaperen
Senior Member
 
Registered: May 2009
Location: WV, USA
Distribution: Slackware, CentOS, Ubuntu, Fedora, Timesys, Linux From Scratch
Posts: 1,777
Blog Entries: 20

Rep: Reputation: 116Reputation: 116
I suspect a possibility that the manufacturer has special or secret knowledge about how the camera works, and knows a way to modify the transfers or buffering to enhance things. For example, the camera may be operating in a "safe mode" where it only sends one buffer at a time, and waits for acknowledgment before sending the next. This mode can limit the transfer rates. With that knowledge, the manufacturer can write a driver that knows how to change the transfer or buffering mode to allow multiple buffers concurrently. They would still be transferred over the USB bus one at a time, but this could make it work efficiently with each buffer sending just as soon as the previous is sent, rather than waiting for the OS to acknowledge the previous buffer.

And they only make that driver for Windows.

When things get up into high end speeds, tricks like this are often needed. I know they do stuff like that with 10 Gbit ethernet cards and high end RAID controllers. But that is at PCIe bus speeds. USB is effectively a bus, too, but a much lower speed than PCIe. And the limitations may exist in the camera chips, where the tricks are often cheaper than getting a chip that can run at 4 times the clock speed.

But I really don't know if the above is so for your case or not. Maybe you can ask the manufacturer what is going on.
 
1 members found this post helpful.
Old 09-17-2011, 09:30 PM   #5
Dstruct0
Member
 
Registered: Jun 2005
Distribution: Debian Etch, Lenny, Squeeze
Posts: 37

Original Poster
Rep: Reputation: 0
Thank you Skaperen for clearing this matter.


So I had wrong idea about this. I really want to transport the same driver used in Windows 7(64bit) to Linux to help the community. Where do I start? What tools do I need?

I am a self taught programmer and have knowledge in C, C++ and Linux assembly programming(asm). What knowledge do I need for this task?


Thanks everyone for your response. I learned a lot by opening this thread.
 
Old 09-19-2011, 05:14 PM   #6
Skaperen
Senior Member
 
Registered: May 2009
Location: WV, USA
Distribution: Slackware, CentOS, Ubuntu, Fedora, Timesys, Linux From Scratch
Posts: 1,777
Blog Entries: 20

Rep: Reputation: 116Reputation: 116
Quote:
Originally Posted by Dstruct0 View Post
Thank you Skaperen for clearing this matter.


So I had wrong idea about this. I really want to transport the same driver used in Windows 7(64bit) to Linux to help the community. Where do I start? What tools do I need?

I am a self taught programmer and have knowledge in C, C++ and Linux assembly programming(asm). What knowledge do I need for this task?


Thanks everyone for your response. I learned a lot by opening this thread.
Porting Windows drivers in binary over to Linux is not something I know about. Sorry, I can't help you in that area. If you could get manufacturer information, maybe you could write a better native driver.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Linux User Access Restrictions to Network, USB ports, PCMCIA, CDROM netfreighter Linux - Security 6 05-06-2011 09:29 AM
Linux Driver for Quickcam USB cameras ksmatthews Linux - Hardware 1 05-27-2009 10:44 AM
SD Cards / USB Cameras lucianomx Red Hat 6 01-08-2006 12:42 PM
USB Mass Storage Device Cameras labced501 Linux - Hardware 6 12-25-2004 07:01 PM
linux locks up when usb mouse attached to usb port during startup. BGuy891653 Linux - Hardware 0 02-08-2004 06:26 PM


All times are GMT -5. The time now is 03:51 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration