1,626

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Można by też wykorzystać fakt, że interfejs - modem ma zawsze 2 wejścia i jedno wyjście (tak to się chyba nazywa):

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1464 Rev= 0.00
S:  Manufacturer=Vodafone Group (Huawei)
S:  Product=Vodafone Mobile Broadband (Huawei)
C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Ale jak widać nie jest to regułą ponieważ w przypadku mojego modemu K4505 są dwa takie interfejsy: ttyUSB0 i ttyUSB1. Ale mogło by to zawęzić krąg poszukiwań w tym przypadku smile

1,627

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Najlepszym rozwiązaniem byłaby modyfikacja modułów usb-serial/option tak żeby załadowane interfejsy posiadały dodatkową informację o typie (tak jak jest w przypadku HSO). Ale na to chyba nie ma co liczyć smile

1,628

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Może to być trochę problematyczne ponieważ niektóre interfejsy działają tak jak interfejs diagnostyczny tylko używany jest inny protokół (QMI lub DM - http://blogs.gnome.org/dcbw/2010/04/15/ … protocols/). W przypadku gtcom powoduje to czasami zawieszenie aplikacji.

Witam,

Bardzo cieszę się, że projekt prężnie się rozwija i pojawia się wsparcie dla coraz większej liczby modemów.
Jako że miałem okazję używać kilku modeli opisywanych w projekcie chciałbym dodać kilka uwag.

1. Novatel MC990D może być przełączony w tryb modemu za pomocą usb_modeswitch. Wystarczy tylko zmodyfikować plik konfiguracyjny 1410_5020:

DefaultVendor= 0x1410
DefaultProduct=0x5020
MessageContent="5553424312345678000000000000061b000000020000000000000000000000"

2. Porty modemów Option pracujących pod kontrolą HSO mogą być rozpoznane i automatycznie ustawione. Skrypt ze źródeł (ports.sh):

#!/bin/sh

#################################################################################################
#    Script: Ports.sh 
#    Purpose: Shows application or all ports for the hso driver
#    This script checks the sys folder (for newer driver versions) and the proc folder (for older driver versions)
#    Parameter all Shows all ports 
#    Parameter app Shows application port 
#    Author: J. Bellavia, D. Barow 
#################################################################################################

# checking for root
USERID=`id -u`
if [ "$USERID" != "0" ]
then
    echo "Need root permissions to run this script"
    exit
fi

#################################################################################################
#    METHOD:    application
#    PURPOSE:shows application interface
#################################################################################################
application()
{
    ###########################################################
    #searching for application port in the sys filesystem
    ###########################################################
    echo searching the application port in sys filesystem
    TTYS=`find /sys/class/tty -name "ttyHS*"`
    APP_PORT=""
    for i in $TTYS; do
        if [ `grep Application $i/hsotype` ]
        then    
        APP_PORT=$i
        found=1
        break
        #else
        #    echo The application port is not $i.
        fi
    done
    ####################
    #Found the app port?
    ####################
    if [ -z "$APP_PORT" ]
    then
        echo Did not find the the app port in sys
    else
        DEVICE=/dev/`echo $APP_PORT | cut -d/ -f5`
        echo The application port is $DEVICE.
    fi    

    ###########################################################
    #searching for application port in the proc filesystem
    ###########################################################
    if [ -z "$found" ]
    then
        echo searching in proc filesystem 
        TTYS=`find /proc/hso/devices -name "ttyHS*"`
        APP_PORT=""
        for i in $TTYS; do
            if [ `grep Application $i/hsotype` ]
            then
            APP_PORT=$i
            found=1
            break
            #else
            #    echo The application port is not $i.
            fi
        done
        ####################
        #Found the app port?
        ####################        
        if [ -z "$APP_PORT" ]
        then
            echo Did not find the the app port in proc
        else
            DEVICE=/dev/`echo $APP_PORT | cut -d/ -f5`
            echo The application port is $DEVICE.
        fi
    fi
    ###############################################################################
    #it can be that hso driver is not installed or that the device is not inserted 
    ###############################################################################
    if [ -z "$found" ]
    then
        echo Please check whether your device is installed and connected to the PC
    fi

}

#################################################################################################
#    METHOD:    all
#    PURPOSE:Shows portname for all ports
#################################################################################################
all()
{
    ###########################################################
    #searching for ports in the sys filesystem first
    ##########################################################
    echo searching in sys filesystem
    TTYS=`find /sys/class/tty -name "ttyHS*"`
    PORT=""
    for i in $TTYS; do
        CatType=`cat $i/hsotype`
        #echo Catype is $CatType
        PORT=$i
        DEVICE=/dev/`echo $PORT | cut -d/ -f5`
        if [ -n "$CatType" ]
        then
            echo The Device $DEVICE is the $CatType port.
            found=1        
        #else            
        fi
    done
    #####################################################################
    #searching for ports in the proc filesystem when device is not found
    #####################################################################
    if [ -z "$found" ]
    then
        echo searching in proc filesystem
        TTYS=`find /proc/hso/devices/ -name "ttyHS*"`
        PORT=""
        for i in $TTYS; do
            CatType=`cat $i/hsotype`
            #echo Catype is $CatType
            PORT=$i
            DEVICE=/dev/`echo $PORT | cut -d/ -f5`
            if [ -n "$CatType" ]
            then
                echo The Device $DEVICE is the $CatType port.
                found=1        
            #else        
            fi
        done
    fi    
    ###############################################################################
    #it can be that hso driver is not installed or that the device is not inserted 
    ###############################################################################

    if [ -z "$found" ]
    then
        echo Please check whether your device is installed and connected to the PC
    fi
}
#################################################################################################
#    METHOD:    usage
#    PURPOSE:
#################################################################################################
usage()
{
    echo Usage: $0 \(app\|all\)
}

#################################################################################################
# Choose your action
#################################################################################################
case "$1" in
    app)
        application
        ;;
    all)
        all
        ;;
    *)
        usage
        ;;
esac

3. Podłączając modemy Sierry poprzez moduł DirectIP żaden z interfejsów nie jest zajęty i może być wykorzystany do odczytywania informacji o modemie/połączeniu.

4. Problem z pojawieniem się modemu Vodafone K3760 można rozwiązać dodając sleep'a do skryptu /etc/hotplug.d/usb/20-modeswitch:

...
                # If a candidate is remaining, start usb-modeswitch
                [ -n "$configs" ] && {
                        sleep 1
                        log "$DEVICENAME: Selecting ${configs%% *} for mode switching"
                        $modeswitch -c "${configs%% *}"
                }
        }
fi

5. Moduły usb-storage oraz usb-serial mają ten sam "priorytet" podczas ładowania (60) i jeśli ładujemy moduł usb-serial z parametrami vendor, product to interfejs storage jest niepoprawnie załadowany poprzez moduł usb-serial. W takim przypadku moduł usb-storage powinien być załadowany wcześniej niż usb-serial (lub usb-serial załadowany później niż usb-storage).

6. Nie wiem czy to kogoś zainteresuje ale istnieje możliwość wgrania dowolnej zawartości na wirtualny napęd modemu (nie dla wszystkich modemów: http://www.bez-kabli.pl/viewtopic.php?t=25692). Można by to wykorzystać w przypadku routerów z małą pamięcią jeśli bazowy obraz miałby wsparcie dla usb oraz systemu plików na wirtualnym napędzie.

frutis

bantrade napisał/a:

Ja mam dostęp do Hot Air'a więc mógłbym się pokusić o wymianę ramu, ale nigdzie nie udało mi się znaleźć takiej pamięci, która oparta by była o takie układy Hynix'a.

Mam na zbyciu jakieś 6 kostek Hynix HY5DU121622CTP-D43 512Mb (64MB) 200MHz@CL3. Trzeba je sobie wylutować. Jedną mam już wlutowaną w swoim routerze i jak narazie działa bez zarzutów:

root@OpenWrt:~# memtester 44M
memtester version 4.1.3 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 44MB (46137344 bytes)
got  44MB (46137344 bytes), trying mlock ...locked.
Loop 1:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : ok
  Checkerboard        : ok
  Bit Spread          : ok
  Bit Flip            : ok
  Walking Ones        : ok
  Walking Zeroes      : ok

Jak tylko wszystko przetestuję postaram się zrobić opis.

No i działa smile Jednaj był wymagany restart po ustawieniu interfejsu usb0 jako WAN.

Podałem tylko apn (AT+CGDCONT=1,"IP","internet"). Użytkownik i hasło nie jest wymagane w moim przypadku.

Zabrałem się za testy. Moduł sierra.ko jest zależny od usbserial a moduł sierra_net.ko od usbnet (można by dodać zależności do paczki). Po załadowaniu wszystkich modułów modem Compass 889 został wykryty bez problemu. Polączenie zostało ustanowione (zapaliła się odpowiednia lampka). Jako WAN ustawiam interfejs usb0. Później ifup wan... i tyle. Nie udało mi się uzyskać adresu ip.

root@OpenWrt:~# ifup wan
root@OpenWrt:~# udhcpc (v1.15.3) started
Sending discover...
Sending discover...
Sending discover...

Co jeszcze muszę zrobić?

Jeśli chodzi o moduł do obsługi modemów Huawei to ładuję się on bez problemu i to wszystko. Modem nie jest wykrywany.

Cezary
Dzięki za kompilację!
Postaram się zrobić testy jak tylko wrzucę OpenWrt na TP-Link'a.

Cezary napisał/a:

To trzeba skompilować...

Jeśli chciało by Ci się zabrać za kompilację to przy okazji mógłbyś skompilować moduł do obsługi modemów Huawei w trybie NDIS. Źródła są tutaj: http://ul.to/al88mq.

Cezary napisał/a:

Tak, dodałem info o nim.

PS. Trzeba by taką sierrę w DirectIP przetestować.

Mógłbym to zrobić tylko gdzie można znaleźć odpowiednie moduły pod ar71xx (TL-WR1043ND): http://sierrawireless.custhelp.com/app/ … /a_id/641/.

Możliwe, że takie kości znajdują się w modułach MicroDIMM DDR 512MB.
Można by też napisać do producenta i poprosić o próbki smile

Micron też produkuje takie kości: http://www.micron.com/products/ProductD … V64M16P-6T

Kość DDR o pojemności 128MB istnieje: http://www.samsung.com/global/business/ … mly_id=708. Nie wiem tylko gdzie i za ile można taką kupić.

1,640

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Takie dwa moduły są używane: ath_mimo_ahb.ko, ath_mimo_hal.ko. Z logów wyczytałem coś takiego:

<6>ath_mimo_hal: 0.9.17.1 (AR5416, REGOPS_FUNC)
<6>ath_ahb: 0.9.4.5 (Atheros/multi-bss)
<6>ath_dfs: Version 2.0.0
<4>Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reserved
<6>wlan: 0.8.4.2 (Atheros/multi-bss)
<6>wlan: mac acl policy registered
<6>ath_rate_atheros: Version 2.0.1
<4>Copyright (c) 2001-2004 Atheros Communications, Inc, All Rights Reserved
<6>ar5416CheckEepromDef: Read Magic = 0xFFFF
<6>EEPROM being read from flash @0xbfff1000
<6>need_swap = False.
<6>Howl Revision ID 0xb9
<4>dfs_init_radar_filters: dfs->dfs_rinfo.rn_numradars: 0
<4>1Mbps 2Mbps 5.5Mbps 11Mbps
<4>1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
<4>1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
<4> 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
<4>1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
<4> 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
<4>1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
<4> 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
<4>wifi0: mac 20.0 phy 10.2 radio 13.0
<4>wifi0: Use hw queue 1 for WME_AC_BE traffic
<4>wifi0: Use hw queue 0 for WME_AC_BK traffic
<4>wifi0: Use hw queue 2 for WME_AC_VI traffic
<4>wifi0: Use hw queue 3 for WME_AC_VO traffic
<4>wifi0: Use hw queue 8 for CAB traffic
<4>wifi0: Use hw queue 9 for beacons
<4>wifi0: Use hw queue 7 for UAPSD
<6>wifi0: Atheros AR9100 WiSoC: mem=0xb80c0000, irq=2

1,641

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Chciałbym tylko poinformować, że po wrzuceniu DD-WRT na router wifi N działa stabilnie już 2 dni. Czy driver do radia na Atheros'ie jest budowany na podstawie tych samych źródeł (w OpenWrt i DD-WRT)?

1,642

(65 odpowiedzi, napisanych Oprogramowanie / Software)

ScApi napisał/a:

Moim zdaniem warto, z asusa 520GC zrobiłem GU czyli 4Mb Flash 64Mb RamMOD + USB więc i kolej na ovisa, mały zgrabny, brak tylko SD żeby rozszerzyć pamięć.

Skąd wziąłeś 64Mb kość pamięci SDRAM do tego mod'a (i jak dużo kosztowała)?

Jako że nie udało mi się kupić kabelka CA-42 (czy wszystkie zostały wykupione z komisów?) postanowiłem podłączyć swój router za pomocą portu szeregowego. Do tego celu wykorzystałem układ MAX232 + 5 kondensatorów. Schemat takiego podłączenia można znaleźć na tej stronie: http://sodoityourself.com/max232-serial … converter/. Układ musiałem zasilić z portu usb (po podłączeniu Vcc do routera układ nie działał). Może komuś się przyda taka informacja smile

A gdyby ktoś chciał podłączyć swój router do portu usb to można do tego celu wykorzystać układ FT232: http://www.elektroda.pl/rtvforum/topic1707381.html.

Jeśli mam w laptopie com'a to dam radę to zrobić bez kabla CA-42? Podpiąć bezpośrednio?

No i stało się smile Router zawiesił się przy próbie wgrania najnowszej wersji 10.03.1-rc1. Teraz po odpaleniu nie miga dioda "SYS". Czy da się go jeszcze odratować przez serial'a?

1,646

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Od kilku tygodni moje paczki mają to wkompilowane.

A ja już się łudziłem...

1,647

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary
Czy mógłbym poprosić Cię o przygotowanie nowych paczek (ostatnia wersja na trunk'u to 2010-07-29-1) ze sterownikami dla radia w TL-WR1043ND przygotowanych z opcją: CONFIG_PACKAGE_ATH9K_USE_MINSTREL=y

Podobno pomaga smile

1,648

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

To nie wina tego, jak sys miga to system się zwalił - kabelek Cię czeka...

Udało się bez kabelka. Wystarczyło odpalić tryb failsafe i wyłączyć radio. Po tej operacji router ożył smile Jak na razie pozostaję przy G.

1,649

(85 odpowiedzi, napisanych Oprogramowanie / Software)

pepe_lodz napisał/a:

a jak mozna podmienic sobie ?

Wrzucasz plik na router i instalujesz: opkg install nazwa_paczki. Zainstalowane paczki zostaną uaktualnione.

Po instalacji nowych paczek i restarcie routera (którymś z kolei) router już nie wstaje sad Dioda sys miga cały czas, a do routera nie można się podłączyć nawet po kablu.

1,650

(85 odpowiedzi, napisanych Oprogramowanie / Software)

Dziękuję.
Na razie działa. Zobaczymy jak długo smile