- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello,
I am using Simple Socket Server Template for my own triple speed ethernet qsys system in which I modify the NiosII Ethernet Standard Design by replacing DDRx with ssram on my CycloneIV GX150 Development Board.I just build my simple socket server project with the template(RGMII) without anything changed except for the tse_my_system.c.When I run my projec,the NiosII Console display some information as the text below: InterNiche Portable TCP/IP, v3.1 Copyright 1996-2008 by InterNiche Technologies. All rights reserved. prep_tse_mac 0 Can't read the MAC address from your board. We will assign you a MAC address. Please enter your 9-digit serial number. This is printed on a label under your Nios dev. board. The first 3 digits of the label are ASJ and the serial number follows this. -->Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) 123456789 123456789 Your Ethernet MAC address is 00:07:ed:ff:cd:15 prepped 1 interface, initializing... [tse_mac_init] INFO : TSE MAC 0 found at address 0x0800a000 INFO : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0] INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0] INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED MARVELL : Mode changed to RGMII/Modified MII to Copper mode MARVELL : Enable RGMII Timing Control MARVELL : PHY reset INFO : PHY[0.0] - Checking link... INFO : PHY[0.0] - Link not yet established, restart auto-negotiation... INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Link established INFO : PHY[0.0] - Speed = 100, Duplex = Full OK, x=0, CMD_CONFIG=0x00000000 MAC post-initialization: CMD_CONFIG=0x04000203 [tse_sgdma_read_init] RX descriptor chain desc (1 depth) created mctest init called IP address of et1 : 192.168.1.80 Acquired IP address via DHCP client for interface: et1 IP address : 192.168.1.104 Subnet Mask: 255.255.255.0 Gateway : 192.168.1.1 Simple Socket Server starting up [sss_task] Simple Socket Server listening on port 30 Created "simple socket server" task (Prio: 4) :confused:What make me confused is how could i edit the source code to solve the problem of can't find mac address from my board.Could anybody give me some advice?I'm much obliged to you for helping me.Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Browse the Simple Socket Server source code.
In one of the source files (IIRC network_utilities.c) you should find a function named get_mac_addr() or get_board_mac_addr(). Change the function body in order to return a fixed MAC address instead of asking you to enter one. Regards- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
comment the entire code of "get_serial_number (void)" , if your board do ot have any serial number.
and then in generate_and_store_mac_addr() assign to ser_num = 1;//get_serial_number(); and then inside if loop assign your own XX value /* This says the image is safe */ flash_content[0] = 0xfe; flash_content[1] = 0x5a; flash_content[2] = 0x0; flash_content[3] = 0x0; /* This is the Altera Vendor ID */ flash_content[4] = 0x00; flash_content[5] = 0x07; flash_content[6] = 0xED; /* Reserverd Board identifier for erase boards */ flash_content[7] = 0xXX;//FF; flash_content[8] = 0xXX;//(ser_num & 0xff00) >> 8; flash_content[9] = 0xXX;//ser_num & 0xff; once again in function generate_mac_addr(unsigned char mac_addr[6]) assign one to ser_num = 1;//get_serial_number(); and assign /* Reserverd Board identifier */ mac_addr[3] = 0xXX;//FF; mac_addr[4] = 0xXX;//(ser_num & 0xff00) >> 8; mac_addr[5] = 0xXX;//ser_num & 0xff;- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Browse the Simple Socket Server source code. In one of the source files (IIRC network_utilities.c) you should find a function named get_mac_addr() or get_board_mac_addr(). Change the function body in order to return a fixed MAC address instead of asking you to enter one. Regards --- Quote End --- Thank you Cris!As your tips shows for me,I read the function get_mac_addr and get_board_mac_addr().Then i guess the problem may caused by the code below,is it rigth? if (!error) { mac_addr[0] = IORD_8DIRECT(last_flash_sector, 4); mac_addr[1] = IORD_8DIRECT(last_flash_sector, 5); mac_addr[2] = IORD_8DIRECT(last_flash_sector, 6); mac_addr[3] = IORD_8DIRECT(last_flash_sector, 7); mac_addr[4] = IORD_8DIRECT(last_flash_sector, 8); mac_addr[5] = IORD_8DIRECT(last_flash_sector, 9); printf("Your Ethernet MAC address is %02x:%02x:%02x:%02x:%02x:%02x\n", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); } But i don't know how to change the code properly.Could you give me a little tips?Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- comment the entire code of "get_serial_number (void)" , if your board do ot have any serial number. and then in generate_and_store_mac_addr() assign to ser_num = 1;//get_serial_number(); and then inside if loop assign your own XX value /* This says the image is safe */ flash_content[0] = 0xfe; flash_content[1] = 0x5a; flash_content[2] = 0x0; flash_content[3] = 0x0; /* This is the Altera Vendor ID */ flash_content[4] = 0x00; flash_content[5] = 0x07; flash_content[6] = 0xED; /* Reserverd Board identifier for erase boards */ flash_content[7] = 0xXX;//FF; flash_content[8] = 0xXX;//(ser_num & 0xff00) >> 8; flash_content[9] = 0xXX;//ser_num & 0xff; once again in function generate_mac_addr(unsigned char mac_addr[6]) assign one to ser_num = 1;//get_serial_number(); and assign /* Reserverd Board identifier */ mac_addr[3] = 0xXX;//FF; mac_addr[4] = 0xXX;//(ser_num & 0xff00) >> 8; mac_addr[5] = 0xXX;//ser_num & 0xff; --- Quote End --- Thank you very much!Yes i get the mac address under your guide!But i also want to know how can i read the mac address from the flash.I test my boad with board_test_system which can read the mac address properly.So is it ture that the mac address still be availble without erasing?Also,i get a problem as below: Your Ethernet MAC address is 00:07:ed:1b:04:9e prepped 1 interface, initializing... [tse_mac_init] INFO : TSE MAC 0 found at address 0x0800a000 INFO : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0] INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0] INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED MARVELL : Mode changed to RGMII/Modified MII to Copper mode MARVELL : Enable RGMII Timing Control MARVELL : PHY reset INFO : PHY[0.0] - Checking link... INFO : PHY[0.0] - Link not yet established, restart auto-negotiation... INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Link established INFO : PHY[0.0] - Speed = 100, Duplex = Full OK, x=0, CMD_CONFIG=0x00000000 MAC post-initialization: CMD_CONFIG=0x04000203 [tse_sgdma_read_init] RX descriptor chain desc (1 depth) created mctest init called IP address of et1 : 0.0.0.0 Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) Acquired IP address via DHCP client for interface: et1 IP address : 192.168.1.101 Subnet Mask: 255.255.255.0 Gateway : 192.168.1.1 Simple Socket Server starting up [sss_task] Simple Socket Server listening on port 30 Created "simple socket server" task (Prio: 4) It has stopped at "simple socket server" task.Could you tell me why?Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- It has stopped at "simple socket server" task.Could you tell me why?Thank you! --- Quote End --- AFAIK this is the correct flow of SSS; there isn't any error! It has stopped because it has indeed nothing else to do, until a connection on port 30 will be requested by a network client.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- AFAIK this is the correct flow of SSS; there isn't any error! It has stopped because it has indeed nothing else to do, until a connection on port 30 will be requested by a network client. --- Quote End --- Thank you very much indeed! When I use the telnet to connect my simple socket server,it really works!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- AFAIK this is the correct flow of SSS; there isn't any error! It has stopped because it has indeed nothing else to do, until a connection on port 30 will be requested by a network client. --- Quote End --- I am sorry to disturb you again.I meet another problem when i using simple socket server.I use telnet to connect with my project.As the menu shows,When I press 0 then press retrun,I find that nothing happens with led.Could you help me to solve this problem?Because I don't know why.Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- hello, I am using Simple Socket Server Template for my own triple speed ethernet qsys system in which I modify the NiosII Ethernet Standard Design by replacing DDRx with ssram on my CycloneIV GX150 Development Board.I just build my simple socket server project with the template(RGMII) without anything changed except for the tse_my_system.c.When I run my projec,the NiosII Console display some information as the text below: InterNiche Portable TCP/IP, v3.1 Copyright 1996-2008 by InterNiche Technologies. All rights reserved. prep_tse_mac 0 Can't read the MAC address from your board. We will assign you a MAC address. Please enter your 9-digit serial number. This is printed on a label under your Nios dev. board. The first 3 digits of the label are ASJ and the serial number follows this. -->Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) 123456789 123456789 Your Ethernet MAC address is 00:07:ed:ff:cd:15 prepped 1 interface, initializing... [tse_mac_init] INFO : TSE MAC 0 found at address 0x0800a000 INFO : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0] INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0] INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED MARVELL : Mode changed to RGMII/Modified MII to Copper mode MARVELL : Enable RGMII Timing Control MARVELL : PHY reset INFO : PHY[0.0] - Checking link... INFO : PHY[0.0] - Link not yet established, restart auto-negotiation... INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Link established INFO : PHY[0.0] - Speed = 100, Duplex = Full OK, x=0, CMD_CONFIG=0x00000000 MAC post-initialization: CMD_CONFIG=0x04000203 [tse_sgdma_read_init] RX descriptor chain desc (1 depth) created mctest init called IP address of et1 : 192.168.1.80 Acquired IP address via DHCP client for interface: et1 IP address : 192.168.1.104 Subnet Mask: 255.255.255.0 Gateway : 192.168.1.1 Simple Socket Server starting up [sss_task] Simple Socket Server listening on port 30 Created "simple socket server" task (Prio: 4) :confused:What make me confused is how could i edit the source code to solve the problem of can't find mac address from my board.Could anybody give me some advice?I'm much obliged to you for helping me. --- Quote End --- hi,
i have the same problem but at the line above , "ip address of et1 : 192.168.1.80" , it gets stuck and becomes not responding. also it shows 0.0.0.0 in place of the ip address. any idea what can i do?
also do i need to manually enter the ip address, subnet, gateway etc in the following lines:
----->
ip4_addr(*ipaddr, ipaddr0, ipaddr1, ipaddr2, ipaddr3); ip4_addr(*gw, gwaddr0, gwaddr1, gwaddr2, gwaddr3); ip4_addr(*netmask, mskaddr0, mskaddr1, mskaddr2, mskaddr3);
----->

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page