Re: My ltmodem patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tony & Dnell
   My only linux system is a 64 bit, so the failure below in the
compile may not appear on a 32 bit system.
Could you please check?  There is the same failure with & without
application of dnell's patch.
The package is at  http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/
the  ltmodem-20100102.tar.gz

MarvS


/ltmodem-20100102$ sudo make
echo > .ltmdmobj.o_.cmd
make -C /lib/modules/3.2.0-32-generic/build
M="/usr/src/modems/ltmodem/ltmodem-20100102"  modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-32-generic'
  CC [M]  /usr/src/modems/ltmodem/ltmodem-20100102/v8250.o
  CC [M]  /usr/src/modems/ltmodem/ltmodem-20100102/ltdrv.o
  CC [M]  /usr/src/modems/ltmodem/ltmodem-20100102/lib.o
/usr/src/modems/ltmodem/ltmodem-20100102/lib.c: In function ‘memset’:
/usr/src/modems/ltmodem/ltmodem-20100102/lib.c:14:2: error: implicit
declaration of function ‘__memset’
[-Werror=implicit-function-declaration]
/usr/src/modems/ltmodem/ltmodem-20100102/lib.c:14:2: warning: return
makes pointer from integer without a cast [enabled by default]
/usr/src/modems/ltmodem/ltmodem-20100102/lib.c: In function
‘Get_PCI_BASE_ADDRESS_IO_MASK’:
/usr/src/modems/ltmodem/ltmodem-20100102/lib.c:111:2: warning: large
integer implicitly truncated to unsigned type [-Woverflow]
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/modems/ltmodem/ltmodem-20100102/lib.o] Error 1
make[1]: *** [_module_/usr/src/modems/ltmodem/ltmodem-20100102] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-32-generic'
make: *** [modules] Error 2

On Wed, Nov 2, 2011 at 1:44 AM, dnell <dnell@xxxxxxx> wrote:
> Hi to all.  Some long time I use Lucent modem and ltmodem-*
> packages with Linux. In common they work, but... When I had
> compare the modem performance with Windows, it is significantly
> better than with Linux. With both systems the modem report
> nearly same "connection speed" (for example 48000 bits per
> second), but the resulting speed of (tcp/ip) network transfers
> with Linux are significantly less (for example, it is about 4
> KByte per second (what corresponds 3600 Kbit per second) but
> usually ever less and about 3KB per second) than with Windows
> (which are 5 KBytes per second and the better "responsiveness").
> I explore the problem and found the cause. It is (for now) in
> open source v8250 module (but the problem are from long past
> time). I think, that the driver and the module are really too
> big, and ever the driver contains some surplus code and data...
> In short, I correct the v8250.c file and the network performance
> of my Linux system become significantly better. In common the
> download speed as reported by the downloader go up about 1.5
> times. In other cases, I think as the modem compression take
> significant effect, the speed go up ever more, about 3 - 4
> times.
>
>
> For now, I use Linux 2.6.35 kernel and modified
> ltmodem-20100102. The patch are here (the most of it are some my
> comments, which may be yet some errorneous, but... :-) Excuse
> me). There are one line of real code.
*** ltmodem-20100102/v8250.c	Wed Feb  3 03:07:48 2010
--- ltmodem-20100102-qlmodif/v8250.c	Sun Oct 23 01:07:07 2011
***************
*** 186,190 ****
  #endif
  	unsigned char ch, lsr = *status;
! 	int max_count = 256;
  	char flag;
  
--- 186,190 ----
  #endif
  	unsigned char ch, lsr = *status;
! 	int max_count = 256; /* May be 512 or fifosize are better? -- QL */
  	char flag;
  
***************
*** 268,272 ****
  	}
  
! 	count = up->tx_loadsz;
  	do {
  		serial_out(up, UART_TX, xmit->buf[xmit->tail]);
--- 268,272 ----
  	}
  
! 	count = up->tx_loadsz; /* simple 64 by strange way. -- QL */
  	do {
  		serial_out(up, UART_TX, xmit->buf[xmit->tail]);
***************
*** 858,861 ****
--- 858,862 ----
  		uart->port.flags    = vuart_config[uart->vtype].flags /*| UPF_BOOT_AUTOCONF*/;
  		uart->vflags	    = conf->flags;
+ 		uart->tx_loadsz     = vuart_config[uart->vtype].tx_loadsz; /* simple 64 by strange way. -- QL */
  
  		uart->host	    = host;
***************
*** 864,868 ****
  		
  		uart->port.type	    = PORT_VUART;
! 		uart->port.fifosize = vuart_config[uart->vtype].fifo_size;
  
  		ret = uart_add_one_port(&serial8250_reg, &uart->port);
--- 865,869 ----
  		
  		uart->port.type	    = PORT_VUART;
! 		uart->port.fifosize = vuart_config[uart->vtype].fifo_size; /* simple 512 by strange way. -- QL */
  
  		ret = uart_add_one_port(&serial8250_reg, &uart->port);

[Index of Archives]     [Linux Media Development]     [Asterisk]     [DCCP]     [Netdev]     [X.org]     [Xfree86]     [Fedora Women]     [Linux USB]

  Powered by Linux