501

Odp: Cudy C200P

no dobra to dla 3 będzie 0x88 + 3/2 ?
https://www.lcsc.com/datasheet/lcsc_dat … 626921.pdf str 23
Port 0~1 Detected PD Class Registers @ 0x88 of Page 0
Port 2~3 Detected PD Class Registers @ 0x89 of Page 0

502

Odp: Cudy C200P

Nie - 0x89 + 3/2 jeżeli tam się ma to przeliczać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

503 (edytowany przez lexmark3200 2025-10-03 18:40:16)

Odp: Cudy C200P

Całkowicie nie czuję tego

#define IP804AR_REG_PORT_PD_CLASS(port) (0x88 + (port / 2))
#define IP804AR_SHIFT_PORT_PD_CLASS(port) (4 * (port % 2))
#define IP804AR_MASK_PORT_PD_CLASS(port) \
        (GENMASK(2, 0) << IP804AR_SHIFT_PORT_PD_CLASS(port)) 

Tzn wiem, co ma zrobić, ale kodu w ogóle.

504

Odp: Cudy C200P

Więc nie korzystaj z tych makr tylko przeliczaj sobie wartości tak jak jest to wymagane dla każdego portu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

505 (edytowany przez lexmark3200 2025-10-03 18:50:13)

Odp: Cudy C200P

#define IP804AR_REG_PORT_PD_CLASS(port) (0x88 + (port / 2))
dla wartości 0 i 1 mam nadal rejestr 0x88
dla wartości 2 i 3 będzie już rejestr 0x89?

Jeśli tak, to powinno działać bez dodawania kolejnego rejestru.

506

Odp: Cudy C200P

Nie czytałem pdf'a i nie wiem co tam ma być podane. Jeżeli jest tak jak piszesz to po co dwa razy zrobiłeś to makro?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

507 (edytowany przez lexmark3200 2025-10-03 19:04:57)

Odp: Cudy C200P

Wg pdf są dwa rejestry dla 4 portów.
0x88 i 0x89. Pierwszy dla portu 0 i 1 a drugi dla portu 2 i 3.
W oryginalnym pliku z którego korzystam dla ip802ar. są dwa porty - zatem jeden rejestr.
Tak jak wyżej wygląda w oryginale makro.
https://ibb.co/zVmN2Ry8

wg datasheet oba rejestry są takie same. Dlatego pytałem, czy w tym makrze jak port będzie 3 i 4 to przejdzie mi na rejestr 0x89.

508

Odp: Cudy C200P

Zwykła operacja matermatyczna więc tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

509

Odp: Cudy C200P

Ok. Dziękuję.
Poprawiłem na git. możesz próbować, czy pójdzie.

P.S. Sorki, za tyle pytań, ale ja nie pracuję jako programista, ba nawet nie pracuję obecnie w elektronice lol

510

Odp: Cudy C200P

Skompilować się skompilowało, ale nawet jak zrobię swój własny profil to w sumie nic to nie robi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

511 (edytowany przez lexmark3200 2025-10-03 19:57:55)

Odp: Cudy C200P

Pytanie, czy to już jest ogarnięte w samym programie poemgr?
Bo ten PR nie jest jeszcze zamknięty na 8008 i 802.
a przeglądajac poemgr.c:

#include "poemgr.h"

extern struct poemgr_profile poemgr_profile_psx10;
extern struct poemgr_profile poemgr_profile_psx28;
extern struct poemgr_profile poemgr_profile_uswflex;

static struct poemgr_profile *poemgr_profiles[] = {
    &poemgr_profile_psx10,
    &poemgr_profile_psx28,
    &poemgr_profile_uswflex,
    NULL
};

Strzelam, nie musi mieć jednak profilu zdefiniowanego najpierw??

Choć wg README, to chyba sam tworzysz ten profil i wg tego powinien działać.

W contrib masz trzy pliki konfiguracyjne.
każdy dla trzech urządzeń, które wcześniej były dodane.
usw-lite.config

config poemgr 'settings'
        option profile 'usw-flex'
        option disabled '1'
        option power_budget '0'

config port 'lan2'
        option name 'lan2'
        option port '3'
        option disabled '1'

config port 'lan3'
        option name 'lan3'
        option port '2'
        option disabled '1'

config port 'lan4'
        option name 'lan4'
        option port '1'
        option disabled '1'

config port 'lan5'
        option name 'lan5'
        option port '0'
        option disabled '1' 

512

Odp: Cudy C200P

I jeszcze brakuje pliku .c od profilu dostarczającego poemgr_profile_cudyc200p

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

513 (edytowany przez lexmark3200 2025-10-04 18:15:51)

Odp: Cudy C200P

@Cezary, dodałem kilka linii:
wg pliku nagłówkowego:

/* Port power control */
#define IP804AR_PORT_DISABLED 0b00
#define IP804AR_PORT_ENABLED 0b01
#define IP804AR_PORT_FORCE 0b10 

c200p.config:

# SPDX-License-Identifier: CC0-1.0

config poemgr 'settings'
        option profile 'c200p'
        option disabled '0'
        option power_budget '50'

config port 'lan2'
        option port '3'
        option disabled '0'

config port 'lan3'
        option port '2'
        option disabled '0'
    

config port 'lan4'
        option port '1'
        option disabled '0'

config port 'lan5'
        option port '0'
        option disabled '0' 

Budżet POE liczą chyba sumaryczny - u nas wg spec producenta:
- Max Power on a Single PoE Ports 30W
- MAX Power Consuption:
  * PoE: 55W
  * PoE (when USB Device is plugged in): 50W
  * No PoE: 5W
No i właśnie wychodzi, że max PoE to 50W? Na razie tyle ustawiłem w profilu.

git diff
diff --git a/contrib/uci-defaults.sh b/contrib/uci-defaults.sh
index c07ddb4..8229f1b 100644
--- a/contrib/uci-defaults.sh
+++ b/contrib/uci-defaults.sh
@@ -6,6 +6,9 @@
 
 board=$(board_name)
 case "$board" in
+cudy,c200p)
+    cp /usr/lib/poemgr/config/c200p.config /etc/config/poemgr
+    ;;
 plasmacloud,psx8|\
 plasmacloud,psx10)
     cp /usr/lib/poemgr/config/psx10.config /etc/config/poemgr
diff --git a/openwrt/poemgr/Makefile b/openwrt/poemgr/Makefile
index 881266d..a406fb1 100644
--- a/openwrt/poemgr/Makefile
+++ b/openwrt/poemgr/Makefile
@@ -33,6 +33,7 @@ define Package/poemgr/install
        $(INSTALL_DIR) $(1)/sbin $(1)/usr/lib/poemgr/config $(1)/etc/config $(1)/etc/uci-defaults $(1)/etc/init.d
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/poemgr $(1)/sbin/poemgr
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/uswlite-pse-enable $(1)/usr/lib/poemgr/uswlite-pse-enable
+       $(CP) $(PKG_BUILD_DIR)/contrib/c200p.config $(1)/usr/lib/poemgr/config/c200p.config
        $(CP) $(PKG_BUILD_DIR)/contrib/psx10.config $(1)/usr/lib/poemgr/config/psx10.config
        $(CP) $(PKG_BUILD_DIR)/contrib/psx28.config $(1)/usr/lib/poemgr/config/psx28.config
        $(CP) $(PKG_BUILD_DIR)/contrib/usw-lite.config $(1)/usr/lib/poemgr/config/usw-lite.config

Poprawki na github. Jak chcesz, możesz spróbować, czy teraz coś ruszy. wink

514 (edytowany przez Cezary 2025-10-04 18:03:42)

Odp: Cudy C200P

55W jest, per port max 30, ale to nie oznacza że możesz pobrać 4x30 W, tylko max 55 (bez usb). WIęc option power_budget '55' jak już albo 50 jak coś jest do usb dołączone (tak cudy robi).

Nie ruszy to. Konfig sam dodałem - pisałem wcześniej. Potrzebny jest jeszcze plik która woła te funkcje, to też już pisałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

515 (edytowany przez lexmark3200 2025-10-04 18:24:54)

Odp: Cudy C200P

Ale w repo nie widzę pliku, który woła funkcje dla innych, żeby podpatrzeć.
Ja dodałem dwa pliku do IP804 - ip804ar.h i ip804ar.c, nie wiem jaki plik jeszcze potrzebny jest?

516

Odp: Cudy C200P

uswflex.c, psx10.c oraz psx28.c. One dostarczają poemgr_profile_psx10, poemgr_profile_psx28 oraz poemgr_profile_uswflex które sam pokazałeś w poście 511. Sama obsługa chipa to za mało, teraz potrzebny jest mały kodzik który integruje profil z tym do obsługi konkretnego chipa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

517

Odp: Cudy C200P

OK. Teraz rozumiem, o co chodzi.
No to tego to ja nie ogarnę.

518

Odp: Cudy C200P

Co ty opowiadasz, wzoruj się na uswflexie i zrób swoje dla cudy. Przecież potrafisz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

519

Odp: Cudy C200P

To już trochę za dużo...
Szkoda, że oprócz Ciebie Cezary, nikt nie próbuje pomóc.

520 (edytowany przez lexmark3200 2025-10-05 10:04:36)

Odp: Cudy C200P

/*#define PSX10_PSE_PORTMASK 0xff

Nie moge rozkminić co to?
Jedynie co mi pasuje wg datasheet od ip8008 to

The 8-bit checksum for I2C write cycle is calculated as the following:
0xFF - (7-bit slave address and R/W bit + 8-bit register address + 8-bit data + carry out bits) =
8-bit checksum.
In write cycle, the IP8008 will verify the checksum bits and if the checksum fails, the data will not be
written into the register and a NACK bit is sent back to the host. If the checksum succeeds, the register
will be written and an ACK bit is sent back to the host. 

521

Odp: Cudy C200P

To się nawet nie skompiluje, zostawiłeś makro po inną nazwą. Czemu sam tego nie kompilujesz? Zamiana kodu w ciemno nic nie daje przecież.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

522

Odp: Cudy C200P

Napisz mi jak mam kompilować. To spróbuję sam.
Co mam klępnac w konsoli.

523

Odp: Cudy C200P

- w źródłach openwrt jest juz poemgr, zmień sobie wskazanie na swojego git'a i normalnie próbuj skompilować pakiet
lub - skopiuj te źródła które masz do katalogu poemgr1 w pacakge, zmień makefile w tych źródłach żeby była nowa nazwa pakietu (np poemgr1) i jego kompiluj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

524

Odp: Cudy C200P

Wsparcie dla urządzenia poszło do repo: https://github.com/openwrt/openwrt/comm … 08937a61d5 . Gratulacje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

525 (edytowany przez lexmark3200 2025-10-08 06:00:31)

Odp: Cudy C200P

@Cezary, bez Twojego wkładu w życiu by się nie udało. Dziękuję za poświęcony czas i pomoc. Pozdrawiam Marcin

Edit.

Teraz czekamy na kolejne wydanie - powinien pojawić się już oficjalnie tak? Czy jeszcze po drodze coś czeka?