51

(21 odpowiedzi, napisanych Inne)

Obrazki z innych stron nie wyświetlają się.

Przykład https://eko.one.pl/forum/viewtopic.php? … 86#p328286
Jest .zapodaj.net, a powinno być bez tej kropki na początku, żeby obrazki wyświetlały się.

Mogę to edytować i powinno być OK. ale na razie zostawiam, żeby Cezary wiedział o co mi chodzi.

52

(38 odpowiedzi, napisanych Sprzęt / Hardware)

C7 v5 bez zachowania konfiguracji działa

 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 24.10-SNAPSHOT, r29101-8843108ff0                                 |
 |                                                                           |
 | Build time: 2026-01-20 10:16 UTC                                          |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 |                                                                           |
 -----------------------------------------------------------------------------

53

(38 odpowiedzi, napisanych Sprzęt / Hardware)

Cybe napisał/a:

C7 V4, sysupgrade 24.10, r29092 – po restarcie, z zachowaniem konfiguracji czy nie – wszystko OK.

A skąd masz 24.10, r29092, jak na dl.eko.one.pl/wyszukiwarka_firmware dalej jest r29077 dla wszystkich v1, v2, v4, v5?

54

(70 odpowiedzi, napisanych Sprzęt / Hardware)

spinoff napisał/a:

po podmianie...

root@TotoLinkMiFi:~# ubus call easyconfig sms
Command failed: No response

Podaj wynik polecenia

ls -la /usr/libexec/rpcd/

55

(38 odpowiedzi, napisanych Sprzęt / Hardware)

W C7 V5 ten działa bez problemu

 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 24.10-SNAPSHOT, r28816-a65ca44cb7                                 |
 |                                                                           |
 | Build time: 2025-08-30 05:59 UTC                                          |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 |                                                                           |
 -----------------------------------------------------------------------------

a ten już nie

 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 24.10-SNAPSHOT, r29077-f415748ba8                                 |
 |                                                                           |
 | Build time: 2025-12-13 05:56 UTC                                          |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 |                                                                           |
 -----------------------------------------------------------------------------

56

(96 odpowiedzi, napisanych Oprogramowanie / Software)

IceG napisał/a:

@Focus możesz mi ten "klon" gdzieś wystawić, chciałbym sobie potestować.

Inna sprawa jak ten status portów zapisać ładnie w naszym pięknym języku. Tutaj mamy UP/DOWN i polecenia
ip link set lanX down
ip link set lanX up
czy one tak dosłownie odpowiadają włączeniu/wyłączeniu portów..

Port status w include ma numerek 29, więc robisz np. 28_ports.js.
Wersja 1
ports_monitor1.jpg
Wersja 2
ports_monitor.jpg
Kod to tylko odczyt danych (read-only), więc nie wprowadza żadnych zmian.
W konsoli działa np:

ip link set lan3 down (lub up)

lub

ubus call network.interface remove_device '{"interface":"lan", "name":"lan3"}' && ip link set lan3 down
----
ubus call network.interface add_device '{"interface":"lan", "name":"lan3"}' && ip link set lan3 up

lub

ifconfig lan3 down (lub up)

I tu pojawia się problem, bo to działa w konsoli, a nie w LuCi.
ip link set lan3 down jest poleceniem systemowym, więc uprawnienia ACL nic nie dadzą.
AI pisze mi, że w/w polecenia można wywołać przez "exec" lub własny backend ubus.
Niżej kody do obu wersji:
Wersja 1

'use strict';
'require view';
'require rpc';

const REFRESH_MS = 2000;

const callGetBuiltinEthernetPorts = rpc.declare({
    object: 'luci',
    method: 'getBuiltinEthernetPorts',
    expect: { result: [] }
});

const callDeviceStatus = rpc.declare({
    object: 'network.device',
    method: 'status',
    params: ['name']
});

let prevStats = {};

function calcRate(dev, stats) {
    const now = Date.now();
    const prev = prevStats[dev];

    prevStats[dev] = {
        rx: stats.rx_bytes || 0,
        tx: stats.tx_bytes || 0,
        t: now
    };

    if (!prev)
        return { rx: 0, tx: 0 };

    const dt = (now - prev.t) / 1000;
    if (dt <= 0)
        return { rx: 0, tx: 0 };

    return {
        rx: (stats.rx_bytes - prev.rx) / dt,
        tx: (stats.tx_bytes - prev.tx) / dt
    };
}

function getPortStatus(port) {
    if (!port.device || port.device === 'br-lan')
        return Promise.resolve(null);

    return callDeviceStatus(port.device)
        .catch(() => null)
        .then(res => {
            if (!res || !res.carrier)
                return { activity: 'down' };

            const stats = res.statistics || {};
            const rate = calcRate(port.device, stats);

            if (rate.rx > 0 || rate.tx > 0)
                return { activity: 'up' };

            return { activity: 'idle' };
        });
}

function renderRow(port, idx) {
    if (!port.device)
        return null;

    const rowStyle = (idx % 2) ? 'cbi-rowstyle-2' : 'cbi-rowstyle-1';
    const tdStyle = 'border-right:1px solid #ccc; border-bottom:1px solid #ccc; padding:4px 6px;';

    return E('tr', { 'class': rowStyle }, [
        E('td', { style: tdStyle }, port.device),
        E('td', { style: tdStyle }, port.activity.toUpperCase())
    ]);
}

return view.extend({
    title: 'Ports Monitor',

    load: function () {
        return callGetBuiltinEthernetPorts().then(ports =>
            Promise.all(ports.map(p =>
                getPortStatus(p).then(st => Object.assign(p, st || {}))
            ))
        );
    },

    render: function (ports) {
        const table = E('table', { style: 'border-collapse:collapse; width:100%;' });
        const thStyle = 'border-right:1px solid #ccc; border-bottom:1px solid #ccc; padding:4px 6px; font-weight:bold;';

        const thead = E('thead', {}, [
            E('tr', {}, [
                E('th', { style: thStyle }, 'Port'),
                E('th', { style: thStyle }, 'Status')
            ])
        ]);

        const tbody = E('tbody');
        table.appendChild(thead);
        table.appendChild(tbody);

        ports.forEach((p, i) => {
            const row = renderRow(p, i);
            if (row)
                tbody.appendChild(row);
        });

        return E('div', { 'class': 'cbi-section' }, [
            E('div', { 'class': 'cbi-section-node' }, [ table ])
        ]);
    },

    onAfterRender: function () {
        const self = this;

        setInterval(() => {
            self.load().then(data => {
                const tbody = document.querySelector('.cbi-section-node tbody');
                if (!tbody)
                    return;

                tbody.innerHTML = '';
                data.forEach((p, i) => {
                    const row = renderRow(p, i);
                    if (row)
                        tbody.appendChild(row);
                });
            });
        }, REFRESH_MS);
    },

    handleSave: null,
    handleSaveApply: null,
    handleReset: null
});

Wersja 2

'use strict';
'require view';
'require rpc';

const REFRESH_MS = 2000;

const callGetBuiltinEthernetPorts = rpc.declare({
    object: 'luci',
    method: 'getBuiltinEthernetPorts',
    expect: { result: [] }
});

const callDeviceStatus = rpc.declare({
    object: 'network.device',
    method: 'status',
    params: ['name']
});

let prevStats = {};
let totalTransfer = {};

function parseSpeedDuplex(speed) {
    if (!speed || typeof speed !== 'string')
        return { speed: '-', duplex: '-' };

    const m = speed.match(/^(\d+)([FH])$/);
    if (!m) return { speed: speed, duplex: '-' };

    return {
        speed: parseInt(m[1], 10) + ' Mbps',
        duplex: m[2] === 'F' ? 'full' : 'half'
    };
}

function formatMbps(val) {
    if (!isFinite(val)) return '0.0';
    return (val * 8 / 1e6).toFixed(1);
}

function formatGB(val) {
    if (!isFinite(val)) return '0.00';
    return (val / 1e9).toFixed(2);
}

function formatErrors(val) {
    if (!isFinite(val) || val === 0) return '0';
    return val > 10000 ? formatGB(val) : val.toLocaleString();
}

function calcRate(dev, stats) {
    const now = Date.now();
    const prev = prevStats[dev];

    prevStats[dev] = { rx: stats.rx_bytes, tx: stats.tx_bytes, t: now };

    if (!prev) return { rx: 0, tx: 0 };

    const dt = (now - prev.t) / 1000;
    if (dt <= 0) return { rx: 0, tx: 0 };

    return {
        rx: (stats.rx_bytes - prev.rx) / dt,
        tx: (stats.tx_bytes - prev.tx) / dt
    };
}

function updateTotal(dev, stats) {
    if (!totalTransfer[dev]) totalTransfer[dev] = { rx: 0, tx: 0 };
    totalTransfer[dev].rx = stats.rx_bytes;
    totalTransfer[dev].tx = stats.tx_bytes;
    return totalTransfer[dev];
}

function getPortStatus(port) {
    if (!port.device || port.device === 'br-lan')
        return Promise.resolve(null);

    return callDeviceStatus(port.device)
        .catch(() => null)
        .then(res => {
            if (res?.operstate === 'unknown' && res?.carrier)
                res.operstate = 'up';

            if (!res || !res.carrier) {
                return {
                    speed: '-',
                    duplex: '-',
                    rx: '0.0',
                    tx: '0.0',
                    totalGB: '0.00',
                    activity: 'down',
                    mtu: '-',
                    errors: '0',
                    rx_rate: 0,
                    tx_rate: 0
                };
            }

            const parsed = parseSpeedDuplex(res.speed);
            const stats = res.statistics || {};
            const rate = calcRate(port.device, stats);
            const total = updateTotal(port.device, stats);
            const activity = (rate.rx > 0 || rate.tx > 0) ? 'active' : 'idle';
            const errors = (stats.rx_errors || 0) + (stats.tx_errors || 0);

            return {
                speed: parsed.speed,
                duplex: parsed.duplex,
                rx: formatMbps(rate.rx),
                tx: formatMbps(rate.tx),
                totalGB: formatGB(total.rx + total.tx),
                activity: activity,
                rx_rate: rate.rx,
                tx_rate: rate.tx,
                mtu: res.mtu || '-',
                errors: formatErrors(errors)
            };
        });
}

// animacja migania diody
const styleEl = document.createElement('style');
styleEl.textContent = `
@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0.2; }
}`;
document.head.appendChild(styleEl);

// funkcja generująca diodę aktywności
function renderActivityLight(rate, portStatus) {
    if (!portStatus || portStatus === 'down') {
        // PORT DOWN › szara
        return E('span', { style: `
            display:inline-block;
            width:10px; height:10px;
            border-radius:50%; margin-right:4px;
            background-color:#888;
        `});
    }

    if (portStatus === 'idle') {
        // IDLE › pomarańczowa, stała
        return E('span', { style: `
            display:inline-block;
            width:10px; height:10px;
            border-radius:50%; margin-right:4px;
            background-color:#fa0;
        `});
    }

    if (rate > 0 && rate < 12500) {
        // Minimalny transfer › zielona, stała
        return E('span', { style: `
            display:inline-block;
            width:10px; height:10px;
            border-radius:50%; margin-right:4px;
            background-color:#0c0;
        `});
    }

    // Transfer powyżej 0.1 Mbps › zielona, miganie
    // cztery poziomy
    let duration = 1.5; // domyślnie wolne miganie
    if (rate < 1e6) {       // 0.1–1 Mbps › poziom 1
        duration = 1.5;
    } else if (rate < 10e6) { // 1–10 Mbps › poziom 2
        duration = 1.0;
    } else if (rate < 100e6) { // 10–100 Mbps › poziom 3
        duration = 0.5;
    } else { // 100 Mbps–1 Gb/s › poziom 4
        duration = 0.2;
    }

    return E('span', { style: `
        display:inline-block;
        width:10px; height:10px;
        border-radius:50%; margin-right:4px;
        background-color:#0c0;
        animation: blink ${duration}s infinite;
    `});
}

// każda komórka z border-bottom i border-right
function renderRow(port, idx) {
    if (!port.device) return null;

    const rowStyle = (idx % 2) ? 'cbi-rowstyle-2' : 'cbi-rowstyle-1';
    const tdStyle = 'border-right:1px solid #ccc; border-bottom:1px solid #ccc; padding:2px 6px;';

    return E('tr', { 'class': rowStyle }, [
        E('td', { style: tdStyle }, port.device),
        E('td', { style: tdStyle }, port.speed),
        E('td', { style: tdStyle }, port.duplex),
        E('td', { style: tdStyle }, port.rx),
        E('td', { style: tdStyle }, port.tx),
        E('td', { style: tdStyle }, port.totalGB),
        E('td', { style: tdStyle }, port.mtu),
        E('td', { style: tdStyle }, port.errors),
        E('td', { style: tdStyle }, [
            renderActivityLight(port.rx_rate + port.tx_rate, port.activity),
            port.activity
        ])
    ]);
}

return view.extend({
    title: 'Ports Monitor',

    load: function () {
        return callGetBuiltinEthernetPorts().then(ports =>
            Promise.all(ports.map(p =>
                getPortStatus(p).then(st => Object.assign(p, st || {}))
            ))
        );
    },

    render: function (ports) {
        const table = E('table', { style: 'border-collapse:collapse; width:100%;' });
        const tdHeaderStyle = 'border-right:1px solid #ccc; border-bottom:1px solid #ccc; padding:4px 6px; font-weight:bold;';

        const thead = E('thead', {}, [
            E('tr', {}, [
                E('th', { style: tdHeaderStyle }, 'Port'),
                E('th', { style: tdHeaderStyle }, 'Speed'),
                E('th', { style: tdHeaderStyle }, 'Duplex'),
                E('th', { style: tdHeaderStyle }, 'Upload Mbps'),
                E('th', { style: tdHeaderStyle }, 'Download Mbps'),
                E('th', { style: tdHeaderStyle }, 'Total GB'),
                E('th', { style: tdHeaderStyle }, 'MTU'),
                E('th', { style: tdHeaderStyle }, 'Errors'),
                E('th', { style: tdHeaderStyle }, 'Activity')
            ])
        ]);

        const tbody = E('tbody');
        table.appendChild(thead);
        table.appendChild(tbody);

        ports.forEach((p, i) => {
            const row = renderRow(p, i);
            if (row) tbody.appendChild(row);
        });

        return E('div', { 'class': 'cbi-section' }, [
            E('div', { 'class': 'cbi-section-node' }, [ table ])
        ]);
    },

    onAfterRender: function () {
        const self = this;

        setInterval(() => {
            self.load().then(data => {
                const tbody = document.querySelector('.cbi-section-node tbody');
                if (!tbody) return;

                tbody.innerHTML = '';
                data.forEach((p, i) => {
                    const row = renderRow(p, i);
                    if (row) tbody.appendChild(row);
                });
            });
        }, REFRESH_MS);
    },

    handleSave: null,
    handleSaveApply: null,
    handleReset: null
});

57

(38 odpowiedzi, napisanych Sprzęt / Hardware)

tictac1720 napisał/a:

Wgrałem 24.10.

Wyglądało wszystko ok ..do momentu kiedy znowu wyłączyłem router przyciskiem.  Znowu stocka trzeba było wgrywać ...

Wgrałem potem 25.12 i takiej  podatności na psucie wgranego softu  przyciskiem power on/off nie ma .

Ale 24.10 od Cezarego z dl.eko, czy z OpenWrt?
Bo jak to pierwsze to było już pisane, że coś jest zwalone.

To teraz zrób jeszcze raz /etc/init.d/dnsmasq restart.
Wcześniej miałeś
dhcp.IOT.dhcpv4='server'
dhcp.iot.dhcpv4='disabled' gdzie teraz tą pozycję usunąłeś.

59

(20 odpowiedzi, napisanych Sprzęt / Hardware)

mrlukasz83 napisał/a:
Focus napisał/a:
mrlukasz83 napisał/a:

a kupiłem ZTE MC889 jednak nie chce mi się w to bawić

Czyli tak naprawdę nie potrzebowałeś żadnej opinii, ani porady, bo i tak wiedziałeś co kupić.
Samo ZTE MC889 występuje w kilku wersjach ale nie pytałeś, tylko kupiłeś.
Więc cały ten temat jest wart tyle co wczorajszy śnieg.

Nie prawda  pytałem bo chciałem zrobić sobie sam router z openwrt lub wykorzystać jakieś istniejące routery lecz po przeczytaniu tego forum i po udzieleniu rad paru kolegów którzy dobrze znają temat przemyślałem to  i doszedłem do wniosku ze to chyba gra nie warta świeczki po pierwsze nie wychodzi to ekonomicznie bo trochę kasy by trzeba było włożyć a po drugie  nie ma wystarczającą dużo wiedzy żeby do skonfigurować  i żeby dobrze działało. Więc jestem wdzięczny za każdą opinie na ten temat

I tak mam odmienne zdanie, bo nikt nie podejmuje decyzji w tak krótkim czasie na podstawie kilku postów w przeciągu 4 godzin. Tym bardziej, że nikt nie proponował ZTE MC889. Sam dokonałeś wyboru i to zanim napisałeś na forum.

60

(20 odpowiedzi, napisanych Sprzęt / Hardware)

mrlukasz83 napisał/a:

a kupiłem ZTE MC889 jednak nie chce mi się w to bawić

Czyli tak naprawdę nie potrzebowałeś żadnej opinii, ani porady, bo i tak wiedziałeś co kupić.
Samo ZTE MC889 występuje w kilku wersjach ale nie pytałeś, tylko kupiłeś.
Więc cały ten temat jest wart tyle co wczorajszy śnieg.

61

(96 odpowiedzi, napisanych Oprogramowanie / Software)

To nie musi być w tym co masz. Może być ale nie musi.
W include można dodać wyżej, niżej albo można zrobić też osobną pozycję w menu.
Dowolność.

Nie widziałem nigdzie czegoś podobnego.
Mój pomysł zrodził się z racji tego, że jeden z portów idzie kablem do AP gdzie czasami muszę go wyłączyć i zamiast wyłączać AP to jednym poleceniem w konsoli wyłączam tylko ten port który idzie do AP.

Roboczo w include mam klona 29 z minimum, gdzie pokazuje status portów
Port    Status   
lan2    DOWN   
lan3    UP   
lan4    UP   
wan    UP

Do tego chciałbym dodać ON/OFF danego portu.
W konsoli to jest proste, a tutaj nie mam pojęcia.

62

(96 odpowiedzi, napisanych Oprogramowanie / Software)

@IceG Czy jesteś w stanie dorobić funkcję ON/OFF danego portu?
W DSA z poziomu terminala:
ip link set lanX down wyłącza port
ip link set lanX up włącza port

X to numer portu.

PS: To nie jest na cito.

63

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Możesz spróbować dodać w /etc/config/wireless

option macfilter 'deny'
list maclist '1c:90:ff:a6:fc:ee'

64

(12 odpowiedzi, napisanych Oprogramowanie / Software)

OpenWrt

Model
TP-Link Archer C7 v5
Platforma
ath79/generic
Wersja
24.10.5 (r29087-d9c5716d1d)
Data
17.12.2025, 22:08:22

Wszystko działa jak trzeba, nawet po reboocie.

65

(12 odpowiedzi, napisanych Oprogramowanie / Software)

@Cybe Na C7 V5 jest dokładnie tak samo.
Myślałem, że to jakieś nieporozumienie z tftp, a tu faktycznie po wgraniu (r29077) od Cezarego router staje się martwy.

66

(12 odpowiedzi, napisanych Oprogramowanie / Software)

W tym routerze przecież tftp działa.
Oryginalny firmware ściągasz ze strony tp-linka i zmieniasz nazwę na ArcherC7v5_tp_recovery.bin.
Przed chwilą, zanim zainstalowałem OpenWrt 25 sprawdziłem, czy tftp działa z oryginalnym softem i bez problemu wszytko działa.

67

(3 odpowiedzi, napisanych Oprogramowanie / Software)

Czy Stubby robi coś więcej niż HTTPS DNS Proxy?

68

(3,934 odpowiedzi, napisanych Sprzęt / Hardware)

esss646 napisał/a:

Diody gasną wszystkie, gdy router się wyłącza – nie świeci się żadna dioda, nawet ta od 3G/4G. Router wygląda wtedy, jakby był całkowicie wyłączony i niepodłączony do prądu. Zostawiłem go na noc włączonego z kartą SIM Orange, a rano był wyłączony – sam się wyłączył. Gdy wyjmę kartę SIM, działa normalnie. Z kartą SIM Play też działa bez problemu. Ale z kartą Orange to dla niego zabójcze – co jakiś czas sam się wyłącza. Nie potrafię tego inaczej wyjaśnić, obserwuję router i tak to właśnie wygląda.Filmik jak on działa z sim Orange https://www.szybkiplik.pl/eGn7sAMKvf

Twój przypadek jest jakiś dziwny ale jak chcesz żeby ktoś go przetestował z SIM Orange to daj znać.
U mnie z SIM Orange działa bez problemu.

69

(4,577 odpowiedzi, napisanych Oprogramowanie / Software)

Mesh w OpenWrt działał chyba do wersji 21, w późniejszych wydaniach trzeba było kombinować.
W brew pozorom mesh działał na 2 routerach ale efekt był podobny do roamingu.

Z mesh jest taki problem, że nie ma wspólnych standardów i każda firma robi to po swojemu, a czasami nawet urządzenia z jednej firmy nie współpracują ze sobą.

Co do reklamy to Wi-Fi extender, reklamowany jako wzmacniacz Wi-Fi niczego nie wzmacnia.

70

(163 odpowiedzi, napisanych Inne)

mkdir: cannot create directory '/cache/releases/24.10-SNAPSHOT/ipq40xx': Permission denied

Model
ZTE MF286D
Platforma
ipq40xx/generic
Pakiety
arm_cortex-a7_neon-vfpv4
Wersja
24.10-SNAPSHOT (r29077-f415748ba8)

 Dostosuj zainstalowane pakiety i/lub skrypt pierwszego rozruchu
Error: Could not set up ImageBuilder
STDERR

mkdir: cannot create directory '/cache/releases/24.10-SNAPSHOT/ipq40xx': Permission denied

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/rq/worker.py", line 1659, in perform_job
    return_value = job.perform()
                   ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1318, in perform
    self._result = self._execute()
                   ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1376, in _execute
    result = self.func(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/asu/build.py", line 465, in build
    result = _build(build_request, job)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/asu/build.py", line 218, in _build
    report_error(job, "Could not set up ImageBuilder")
  File "/app/asu/util.py", line 329, in report_error
    raise RuntimeError(msg)
RuntimeError: Could not set up ImageBuilder

71

(3,934 odpowiedzi, napisanych Sprzęt / Hardware)

esss646 napisał/a:

Tak Apn u nich taki samy, na kont pisania, taka jest prawda, co z sim Play wczoraj wieczorem i calu noc, router działal bez problemu, a z sim Orange cały dzień dzisiejszy wyłącza się, diody gasną i tyłe, tak to jest, mi po co oszukiwać ludzi, w tym nie ma sensu. Dziękuję bardzo za odpowiedź.

Ale które diody gasną? Jak diody gasną to możesz zalogować się wpisują IP routera? Od zasilania dioda się świeci? Dioda od LAN się świeci? Dioda LTE/3G świeci się na czerwono/zielono/niebiesko?

72

(3,934 odpowiedzi, napisanych Sprzęt / Hardware)

esss646 napisał/a:

I jeszcze, a może ktoś zrobić zrzut ekranu, czy tak napisać, jak wygląda w ustawieniach ruterka Sekcja   APN, żeby sprawdzić u siebie i wpisać jak u was to naprawione. Z góry dziękuję bardzo!

APN Orange jest taki sam jak w Play, więc nie musisz go zmieniać.
A pisanie, że w Play działa, a w Orange nie, to wróżenie z fusów.
Nawet nie wiadomo jaki masz status diody od LTE/3G kiedy nie działa.
W Orange nie masz już 3G jakby co.

73

(3,934 odpowiedzi, napisanych Sprzęt / Hardware)

@esss646 Jak mu dasz więcej napięcia i router przestanie działać to moja oferta stanie się nieaktualna, bo nie zbieram elekro-śmieci.
Decyduj się, router działa, czy nie? Bo wprowadzasz zamieszanie.

74

(3,934 odpowiedzi, napisanych Sprzęt / Hardware)

@esss646 Jak mieszkasz w Polsce i chcesz pozbyć się problemu to w cenie przesyłki (za którą zapłacę) przygarnę ten router w takim stanie w jakim jest.

75

(163 odpowiedzi, napisanych Inne)

ambrozy5 napisał/a:

można by do goodrama i kingstona napisać maila czy chcieli by zasponsorować smile

Jak będziesz pisał tego maila to weź kilka sztuk, dla mnie i dla innych z forum.
A tak na serio to sypnąłeś chociaż kilka groszy?