I am using a powered 10-USB hub to connect 3G usb modems to a single raspberry PI B+ (ARMv6h) usb port. All packages are fully upgraded. The hub has enough power for all devices, so that is not a problem. I have tested the setup with all 10 modems on different x86_64 machine running debian, and it worked, so the hub should be OK.
Each plugged modem creates 3 terminals in /dev/, for instance ttyUSB0, ttyUSB1, ttyUSB2. One of those 3 is for data (ppp connection). I use wvdial to establish ppp connection for the data port, leaving remaining 2 tty's unused.
This works flawlessly for the first 6 modems. After i insert the 7th modem, and start ppp connection, after some random time of up to 3 minutes, one of the previous modems disconnect, as if i physically removed it from USB port and than inserted it again. Even it's 3 tty terminals dissapear from /dev/, and reappear again under different numbers, as if i physicaly unplugged the modem and plugged it back. Dmesg shows that usb device simply disconnected and connected again, even when it is plugged into the hub the whole time. During the short time that all 7 modems work, my ssh connection over eth0 to the PI becomes laggy and slow. I used the top command to see that the CPU is not heavily used during that time.
I thought this happens because of some hardware limitation : using 7 modems over single usb port may be too much for device such as raspberry PI.
However, when i tried Raspbian instead of Arch, the same exact problem occurs, only as soon as i insert 4th modem, instead 7th with Arch. So on Arch i can use maximum of 6 modems. On Raspbian 3.
This led me to belive that problem is caused by software, rather than hardware. Further : when i insert the 7th modem into the second PI's USB port (usb hub with 6 modems still plugged into the first USB port), even the 7th. modem works flawlessly. When i insert it into the hub, again the same problem.
Any ideas on why is this happening ?