Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-03-2010, 11:44   #1
TRF83
Senior Member
 
L'Avatar di TRF83
 
Iscritto dal: Dec 2007
Città: Palestro
Messaggi: 1960
[C/C++] Linux Raw Socket con due NIC

Devo realizzare un simulatore di dispositivi slave ethercat e ho la necessità di aprire due socket in modalità RAW, uno su una nic e l'altro su di un'altra.. Il problema è che non so come dire alla system call socket (inizializzata come SOCK_RAW e protocollo ETH, dato che EtherCAT è incapsulato in Ethernet), di aprirne uno da una parte e uno dall'altra..qualcuno sa come si possa fare?
Grazie anticipatamente per la considerazione!
TRF83 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 14:02   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
devi usare la system call bind per bindare un socket da una parte e uno dall'altra subito dopo la socket, ma non saprei dirti di piu...
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 16:06   #3
TRF83
Senior Member
 
L'Avatar di TRF83
 
Iscritto dal: Dec 2007
Città: Palestro
Messaggi: 1960
Come sempre, grazie fero86! Cercando anche altrove, in effetti, avevo trovato la bind, ma in tutti gli esempi si basano sull'IP della NIC..cosa che io non posseggo.. Continuo a cercare..nel caso trovassi qualcosa, posterò qui la soluzione..magari potrà servire ad altri in futuro!
TRF83 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 16:13   #4
TRF83
Senior Member
 
L'Avatar di TRF83
 
Iscritto dal: Dec 2007
Città: Palestro
Messaggi: 1960
Questa DOVREBBE essere la soluzione al problema (per una volta il "mi sento fortunato" di google mi ha aiutato!)

tratto da man 7 socket (http://linux.die.net/man/7/socket):

These socket options can be set by using setsockopt(2) and read with getsockopt(2) with the socket level set to SOL_SOCKET for all sockets:

SO_BINDTODEVICE

quindi si farà qualcosa del tipo (con riserva sulla sintassi..non ho il codice vero e proprio sottomano!)

char[] device="eth1";

s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
struct sockaddr_ll socket_address;
socket_address.sll_family = AF_PACKET;
socket_address.sll_protocol = htons(ETH_P_ALL);

//parte interessante allo scopo
setsockopt(s,SOL_SOCKET,SO_BINDTODEVICE,device,sizeof(device));
bind(s, (struct sockaddr *) & socket_address, sizeof(socket_address));

recvfrom(s, buffer, ETH_FRAME_LEN, 0, NULL, NULL);


La soluzione era più semplice del previsto..basta dirgli "eth0" o qualsiasi altra interfaccia desiderata, e lui la binda! Mi aspettavo chissà cosa..per una volta sono colpito positivamente!
TRF83 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2010, 13:59   #5
PexOne
Junior Member
 
Iscritto dal: Nov 2010
Messaggi: 1
Quote:
Originariamente inviato da TRF83 Guarda i messaggi
Devo realizzare un simulatore di dispositivi slave ethercat e ho la necessità di aprire due socket in modalità RAW, uno su una nic e l'altro su di un'altra.. Il problema è che non so come dire alla system call socket (inizializzata come SOCK_RAW e protocollo ETH, dato che EtherCAT è incapsulato in Ethernet), di aprirne uno da una parte e uno dall'altra..qualcuno sa come si possa fare?
Grazie anticipatamente per la considerazione!
Ciao,

ho trovato questo post cercando informazioni su simulatori ethercat, non so se questo è il posto giusto ma qualcuno saprebbe dirmi se è possibile realizzare uno slave ethercat software simulato appoggiandosi ad una normale scheda ethernet RJ45? Se esiste il modo mi sapreste dire dove posso recuperare informazioni e/o esempi?
Grazie!

Ciao!!
PexOne è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2010, 14:22   #6
TRF83
Senior Member
 
L'Avatar di TRF83
 
Iscritto dal: Dec 2007
Città: Palestro
Messaggi: 1960
Quote:
Originariamente inviato da PexOne Guarda i messaggi
Ciao,

ho trovato questo post cercando informazioni su simulatori ethercat, non so se questo è il posto giusto ma qualcuno saprebbe dirmi se è possibile realizzare uno slave ethercat software simulato appoggiandosi ad una normale scheda ethernet RJ45? Se esiste il modo mi sapreste dire dove posso recuperare informazioni e/o esempi?
Grazie!

Ciao!!
Guarda..è a grandi linee quello che dobbiamo fare io e un mio compagno di corso per una tesina!
A grandi linee quello che devi fare è:
- aprire un socket in modalità RAW (questo perchè NON vuoi modifiche al pacchetto da parte della NIC)
- elaborarti il pacchetto (estrarre header, comando, working counter, indirizzamenti e quant'altro)
- fare la simulazione che devi fare
- rispedirla

Una cosa molto ovvia che a noi ha portato via tempo a causa dell'interfacciamento con flex/bison che necessitano di testo in chiaro (leggi: ascii) per funzionare, altrimenti, ci metti poco tempo. Hai la documentazione ethercat? Se no, se mi dai una mail - in pvt - ti giro il pdf!
__________________
My PC:
Case: BeQuiet! Pure Base 500 + BeQuiet! Pure Wings 2 140mm & Noctua NF-A14 PWM front intake + BeQuiet! Pure Wings 2 140mm rear exhaust - CPU: AMD Ryzen7 5800X3D (DVID: -0.1V) - CPU Cooler: Noctua NH-D15 - MB: MSI X570 Gaming Edge WiFi - PSU: Corsair RM850 full modular - GPU: Gigabyte 2070 Super Gaming OC 3X (fallata....! ) - RAM: 32GB G.Skill Ripjaws V 3200MHz CL16 (Samsung B-Die) - HDD: Crucial P5Plus 1TB NVME - Monitor: Samsung C24FG73
TRF83 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
AST SpaceMobile annuncia il razzo spazia...
Apple taglia il budget AI dei dipendenti...
Fisco e intelligenza artificiale, come c...
Synology BC510 e CC410W, la videosorvegl...
600.000 chip NVIDIA fermi a Hong Kong: l...
La Cina punta tutto sull'allunaggio con ...
LG Italia compie 30 anni: gli italiani v...
Fiido esagera: Black Friday anticipato c...
Tutte le offerte Amazon del momento: ai ...
Dropbox compra Tigris Data per 350 milio...
Blue Origin lancerà nuovamente Ne...
Windows 11, Paint nasconde un bug di sic...
Memorie più care, smartphone in c...
AMD volta pagina, Ryzen e Radeon passano...
Aina lancia AI ring, l'anello smart con ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v